Initial commit: Complete open-source Decal rebuild
All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
d1442e3747
1382 changed files with 170725 additions and 0 deletions
164
Native/DecalDat/DatFile.cpp
Normal file
164
Native/DecalDat/DatFile.cpp
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
// ACFile.cpp
|
||||
// Implementation of class cACFile
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "DatFile.h"
|
||||
|
||||
#define AC_NUMFILELOC 0x03E
|
||||
#define AC_ROOTDIRPTRLOC 0x148
|
||||
|
||||
#define new DEBUG_NEW
|
||||
|
||||
cDatFile::cFile::cFile( cDatFile *pSource, BYTE *pFirstSector, DWORD dwSize )
|
||||
: m_pFirstSector( pFirstSector ),
|
||||
m_pCurrentSector( pFirstSector ),
|
||||
m_pCurrentByte( pFirstSector + sizeof( DWORD ) ),
|
||||
m_dwSize( dwSize ),
|
||||
m_dwOffset( 0 ),
|
||||
m_pSource( pSource )
|
||||
{
|
||||
}
|
||||
|
||||
void cDatFile::cFile::reset()
|
||||
{
|
||||
m_pCurrentSector = m_pFirstSector;
|
||||
m_pCurrentByte = m_pFirstSector + sizeof( DWORD );
|
||||
m_dwOffset = 0;
|
||||
}
|
||||
|
||||
DWORD cDatFile::cFile::read( BYTE *pbBuffer, DWORD dwSize )
|
||||
{
|
||||
// Check if we can fit
|
||||
if( dwSize + m_dwOffset > m_dwSize )
|
||||
dwSize = m_dwSize - m_dwOffset;
|
||||
|
||||
DWORD dwRemaining = dwSize;
|
||||
while( dwRemaining > 0 )
|
||||
{
|
||||
if( ( m_pCurrentByte + dwRemaining ) > m_pCurrentSector + m_pSource->m_dwSectorSize )
|
||||
{
|
||||
// We are reading over a sector boundary, read what we've got and reset for the next sector
|
||||
DWORD dwSection = ( m_pCurrentSector + m_pSource->m_dwSectorSize ) - m_pCurrentByte;
|
||||
|
||||
::memcpy( pbBuffer, m_pCurrentByte, dwSection );
|
||||
m_pCurrentSector = m_pSource->m_pData + *reinterpret_cast< DWORD * >( m_pCurrentSector );
|
||||
m_pCurrentByte = m_pCurrentSector + sizeof( DWORD );
|
||||
|
||||
dwRemaining -= dwSection;
|
||||
pbBuffer += dwSection;
|
||||
}
|
||||
else
|
||||
{
|
||||
::memcpy( pbBuffer, m_pCurrentByte, dwRemaining );
|
||||
m_pCurrentByte += dwRemaining;
|
||||
dwRemaining = 0;
|
||||
}
|
||||
}
|
||||
|
||||
m_dwOffset += dwSize;
|
||||
return dwSize;
|
||||
}
|
||||
|
||||
DWORD cDatFile::cFile::skip( DWORD dwSize )
|
||||
{
|
||||
// Check if we can fit
|
||||
if( dwSize + m_dwOffset > m_dwSize )
|
||||
dwSize = m_dwSize - m_dwOffset;
|
||||
|
||||
DWORD dwRemaining = dwSize;
|
||||
while( dwRemaining > 0 )
|
||||
{
|
||||
if( ( m_pCurrentByte + dwRemaining ) > m_pCurrentSector + m_pSource->m_dwSectorSize )
|
||||
{
|
||||
// We are reading over a sector boundary, read what we've got and reset for the next sector
|
||||
DWORD dwSection = ( m_pCurrentSector + m_pSource->m_dwSectorSize ) - m_pCurrentByte;
|
||||
|
||||
m_pCurrentSector = m_pSource->m_pData + *reinterpret_cast< DWORD * >( m_pCurrentSector );
|
||||
m_pCurrentByte = m_pCurrentSector + sizeof( DWORD );
|
||||
|
||||
dwRemaining -= dwSection;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pCurrentByte += dwRemaining;
|
||||
dwRemaining = 0;
|
||||
}
|
||||
}
|
||||
|
||||
m_dwOffset += dwSize;
|
||||
return dwSize;
|
||||
}
|
||||
|
||||
cDatFile::cDatFile( LPCTSTR szFilename, DWORD dwSectorSize )
|
||||
: m_hFile( NULL ),
|
||||
m_hMapping( NULL ),
|
||||
m_pData( NULL ),
|
||||
m_dwSectorSize( dwSectorSize )
|
||||
{
|
||||
m_hFile = ::CreateFile( szFilename, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL );
|
||||
|
||||
if( m_hFile == INVALID_HANDLE_VALUE )
|
||||
throw std::exception();
|
||||
|
||||
// Proceed to create the file mapping
|
||||
m_hMapping = ::CreateFileMapping( m_hFile, NULL, PAGE_READONLY | SEC_COMMIT, 0, 0, NULL );
|
||||
if( m_hMapping == NULL )
|
||||
{
|
||||
::CloseHandle( m_hFile );
|
||||
throw std::exception();
|
||||
}
|
||||
|
||||
m_pData = reinterpret_cast< BYTE * >( ::MapViewOfFileEx( m_hMapping, FILE_MAP_READ, 0, 0, 0, NULL ) );
|
||||
|
||||
if( m_pData == NULL )
|
||||
{
|
||||
::CloseHandle( m_hMapping );
|
||||
::CloseHandle( m_hFile );
|
||||
throw std::exception();
|
||||
}
|
||||
}
|
||||
|
||||
cDatFile::~cDatFile()
|
||||
{
|
||||
::UnmapViewOfFile( m_pData );
|
||||
::CloseHandle( m_hMapping );
|
||||
::CloseHandle( m_hFile );
|
||||
}
|
||||
|
||||
cDatFile::cFile cDatFile::getFile( DWORD dwFileNumber )
|
||||
{
|
||||
cDirectory dir;
|
||||
|
||||
// Search for our golden file
|
||||
for ( DWORD dwDirStart = *reinterpret_cast< DWORD * >( m_pData + AC_ROOTDIRPTRLOC ); dwDirStart != 0; )
|
||||
{
|
||||
cFile dir_entry( this, m_pData + dwDirStart, sizeof( cDirectory ) );
|
||||
dir_entry.read( reinterpret_cast< BYTE * >( &dir ), sizeof( cDirectory ) );
|
||||
|
||||
// Now, the files are located like triplets, so copy the triplets
|
||||
cFileEntry *pEntry = dir.m_files,
|
||||
*pEndEntry = pEntry + dir.m_dwFiles;
|
||||
|
||||
for( cFileEntry *pIter = pEntry; pIter != pEndEntry && pIter->m_dwID < dwFileNumber; ++ pIter );
|
||||
|
||||
// We either got an exact match - or we attempt to further narrow down the file
|
||||
if( pIter != pEndEntry )
|
||||
{
|
||||
// We found some sort of match
|
||||
if( pIter->m_dwID == dwFileNumber )
|
||||
// This is an exact match hooray
|
||||
return cFile( this, m_pData + pIter->m_dwOffset, pIter->m_dwSize );
|
||||
}
|
||||
|
||||
// We have an inexact match, but now we attempt to recurse
|
||||
if( dir.m_subdirs[ 0 ] == 0 )
|
||||
// If the first entry in the directory is 0, there are no
|
||||
// helpers - we lose, it's not here
|
||||
break;
|
||||
|
||||
dwDirStart = dir.m_subdirs[ pIter - pEntry ];
|
||||
}
|
||||
|
||||
// If we get here, the file wasn't found - sniff
|
||||
throw std::exception();
|
||||
}
|
||||
76
Native/DecalDat/DatFile.h
Normal file
76
Native/DecalDat/DatFile.h
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
// DatFile.h
|
||||
// Declaration of class cDatFile
|
||||
// Class for extracting data from portal.dat and cell.dat
|
||||
|
||||
#ifndef __ACFILE_H
|
||||
#define __ACFILE_H
|
||||
|
||||
#define FILE_COUNT 62
|
||||
|
||||
class cDatFile
|
||||
{
|
||||
// The AC File is created as a memory mapped file
|
||||
// so we let the memory manager cache manage - it's also quite a bit nicer than
|
||||
// code to seek/read everything
|
||||
HANDLE m_hFile,
|
||||
m_hMapping;
|
||||
BYTE *m_pData;
|
||||
DWORD m_dwSectorSize;
|
||||
|
||||
public:
|
||||
class cFile
|
||||
{
|
||||
BYTE *m_pFirstSector,
|
||||
*m_pCurrentSector,
|
||||
*m_pCurrentByte;
|
||||
DWORD m_dwSize,
|
||||
m_dwOffset;
|
||||
cDatFile *m_pSource;
|
||||
|
||||
public:
|
||||
// Locate the file in a directory
|
||||
|
||||
cFile( cDatFile *pSource, BYTE *pFirstSector, DWORD dwSize );
|
||||
|
||||
DWORD getSize() const
|
||||
{
|
||||
return m_dwSize;
|
||||
}
|
||||
|
||||
DWORD tell() const
|
||||
{
|
||||
return m_dwOffset;
|
||||
}
|
||||
|
||||
void reset();
|
||||
DWORD read( BYTE *pbBuffer, DWORD dwSize );
|
||||
DWORD skip( DWORD dwSize );
|
||||
};
|
||||
|
||||
cDatFile( LPCTSTR szFilename, DWORD dwSectorSize = 256 );
|
||||
~cDatFile();
|
||||
|
||||
cFile getFile( DWORD dwFileNumber );
|
||||
|
||||
// Structures
|
||||
#pragma pack( push, 1 )
|
||||
struct cFileEntry
|
||||
{
|
||||
DWORD m_dwID,
|
||||
m_dwOffset,
|
||||
m_dwSize;
|
||||
};
|
||||
|
||||
struct cDirectory
|
||||
{
|
||||
DWORD m_subdirs[ FILE_COUNT ];
|
||||
DWORD m_dwFiles;
|
||||
cFileEntry m_files[ FILE_COUNT ];
|
||||
};
|
||||
|
||||
#pragma pack( pop )
|
||||
|
||||
friend cFile;
|
||||
};
|
||||
|
||||
#endif
|
||||
158
Native/DecalDat/DatLibrary.cpp
Normal file
158
Native/DecalDat/DatLibrary.cpp
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
// DatLibrary.cpp : Implementation of cDatLibrary
|
||||
#include "stdafx.h"
|
||||
#include "DecalDat.h"
|
||||
#include "DatLibrary.h"
|
||||
|
||||
#include "DatFile.h"
|
||||
#include "DatService.h"
|
||||
#include "DatStream.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatLibrary
|
||||
|
||||
void cDatLibrary::load( cDatService *pService, BSTR strFilename, int nFileType, long nSectorSize )
|
||||
{
|
||||
USES_CONVERSION;
|
||||
|
||||
// Convert the template path into a real path
|
||||
m_pService = pService;
|
||||
CComBSTR strPath;
|
||||
pService->m_pDecal->MapPath( strFilename, &strPath );
|
||||
m_nFileType = nFileType;
|
||||
|
||||
try
|
||||
{
|
||||
m_pFile = new cDatFile( OLE2T( strPath ), nSectorSize );
|
||||
}
|
||||
catch( ... )
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT cDatLibrary::createFile( DWORD dwFile, REFIID iid, void **ppvItf )
|
||||
{
|
||||
CComObject< cDatStream > *pStream;
|
||||
CComObject< cDatStream >::CreateInstance( &pStream );
|
||||
CComPtr< IUnknown > pUnkStream = pStream;
|
||||
|
||||
try
|
||||
{
|
||||
pStream->m_pFile = new cDatFile::cFile( m_pFile->getFile( dwFile ) );
|
||||
}
|
||||
catch( ... )
|
||||
{
|
||||
delete pStream;
|
||||
|
||||
// File not found
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
return pStream->QueryInterface( iid, ppvItf );
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatLibrary::Lookup( BSTR strName, IUnknown **ppItf )
|
||||
{
|
||||
USES_CONVERSION;
|
||||
LPTSTR szName = OLE2T( strName );
|
||||
|
||||
int nProtocol = ::_tcscspn( szName, _T( ":" ) );
|
||||
if( szName[ nProtocol ] == _T( '\0' ) )
|
||||
{
|
||||
// Special case, no protocol creates a raw stream
|
||||
DWORD dwFile;
|
||||
if( ::_stscanf( szName, _T( "%X" ), &dwFile ) != 1 )
|
||||
return E_INVALIDARG;
|
||||
|
||||
return get_Stream( dwFile, ppItf );
|
||||
}
|
||||
|
||||
// We have a protocol name
|
||||
szName[ nProtocol ] = _T( '\0' );
|
||||
|
||||
// Convert the hew file number
|
||||
DWORD dwFile;
|
||||
if( ::_stscanf( szName + nProtocol + 1, _T( "%X" ), &dwFile ) != 1 )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
return Open( CComBSTR( szName ), dwFile, ppItf );
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatLibrary::get_Stream(DWORD dwFile, LPUNKNOWN *pVal)
|
||||
{
|
||||
return createFile( dwFile, IID_IUnknown, reinterpret_cast< void ** >( pVal ) );
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatLibrary::Open(BSTR Protocol, DWORD File, LPUNKNOWN *pFile)
|
||||
{
|
||||
USES_CONVERSION;
|
||||
LPTSTR szName = OLE2T( Protocol );
|
||||
|
||||
::_tcslwr( szName );
|
||||
|
||||
cDatService::cFileFilter *pFilter = m_pService->getFilter( szName, ::_tcslen( szName ) );
|
||||
if( pFilter == NULL )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if( pFilter->m_bCache )
|
||||
{
|
||||
// Check the file cache for an existing verison
|
||||
for( cDatService::cFileCacheList::iterator i = m_pService->m_cache.begin(); i != m_pService->m_cache.end(); ++ i )
|
||||
{
|
||||
if( i->m_dwFile == File &&
|
||||
static_cast< int >( i->m_library ) == m_nFileType &&
|
||||
i->m_pFilter == pFilter )
|
||||
{
|
||||
// Found our file, return victorious
|
||||
return i->m_pFile->QueryInterface( pFile );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// No cache or not found in the cache, create the stream
|
||||
CComPtr< IDatStream > pStream;
|
||||
HRESULT hRes = createFile( File, IID_IDatStream, reinterpret_cast< void ** >( &pStream ) );
|
||||
if( FAILED( hRes ) )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return hRes;
|
||||
}
|
||||
|
||||
// Lookin' good, create the filter
|
||||
CComPtr< IFileFilter > pFileFilter;
|
||||
hRes = m_pService->createFilter( pFilter, IID_IFileFilter, reinterpret_cast< void ** >( &pFileFilter ) );
|
||||
|
||||
if( FAILED( hRes ) )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return hRes;
|
||||
}
|
||||
|
||||
hRes = pFileFilter->Initialize( pStream );
|
||||
|
||||
if( FAILED( hRes ) )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return hRes;
|
||||
}
|
||||
|
||||
if( pFilter->m_bCache )
|
||||
{
|
||||
// Make a cache entry
|
||||
cDatService::cFileCache fc;
|
||||
|
||||
fc.m_dwFile = File;
|
||||
fc.m_library = static_cast< cDatService::eLibrary >( m_nFileType );
|
||||
fc.m_pFilter = pFilter;
|
||||
fc.m_pFile = pFileFilter;
|
||||
|
||||
m_pService->m_cache.push_back( fc );
|
||||
}
|
||||
|
||||
return pFileFilter->QueryInterface( IID_IUnknown, reinterpret_cast< void ** >( pFile ) );
|
||||
}
|
||||
52
Native/DecalDat/DatLibrary.h
Normal file
52
Native/DecalDat/DatLibrary.h
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
// DatLibrary.h : Declaration of the cDatLibrary
|
||||
|
||||
#ifndef __DATLIBRARY_H_
|
||||
#define __DATLIBRARY_H_
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
class cDatFile;
|
||||
class cDatService;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatLibrary
|
||||
class ATL_NO_VTABLE cDatLibrary :
|
||||
public CComObjectRootEx<CComSingleThreadModel>,
|
||||
public CComCoClass<cDatLibrary, &CLSID_DatLibrary>,
|
||||
public IDecalDirectory,
|
||||
public IDispatchImpl<IDatLibrary, &IID_IDatLibrary, &LIBID_DecalDat>
|
||||
{
|
||||
public:
|
||||
cDatLibrary()
|
||||
: m_pFile( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
void load( cDatService *pService, BSTR strFilename, int nFileType, long nSectorSize );
|
||||
|
||||
int m_nFileType;
|
||||
cDatFile *m_pFile;
|
||||
cDatService *m_pService;
|
||||
|
||||
HRESULT createFile( DWORD dwFile, REFIID iid, void **ppvItf );
|
||||
|
||||
DECLARE_REGISTRY_RESOURCEID(IDR_DATLIBRARY)
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||||
|
||||
BEGIN_COM_MAP(cDatLibrary)
|
||||
COM_INTERFACE_ENTRY(IDatLibrary)
|
||||
COM_INTERFACE_ENTRY(IDecalDirectory)
|
||||
COM_INTERFACE_ENTRY(IDispatch)
|
||||
END_COM_MAP()
|
||||
|
||||
// IDatLibrary
|
||||
public:
|
||||
|
||||
// IDecalDirectory
|
||||
STDMETHOD(Lookup)(BSTR strName, IUnknown **ppItf);
|
||||
STDMETHOD(Open)(BSTR Protocol, DWORD File, /*[out, retval]*/ LPUNKNOWN *pFile);
|
||||
STDMETHOD(get_Stream)(DWORD dwType, /*[out, retval]*/ LPUNKNOWN *pVal);
|
||||
};
|
||||
|
||||
#endif //__DATLIBRARY_H_
|
||||
152
Native/DecalDat/DatService.cpp
Normal file
152
Native/DecalDat/DatService.cpp
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
// DatService.cpp : Implementation of cDatService
|
||||
#include "stdafx.h"
|
||||
#include "DecalDat.h"
|
||||
#include "DatService.h"
|
||||
|
||||
#include "DatLibrary.h"
|
||||
|
||||
#include <ApiHook.h>
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatService
|
||||
|
||||
HANDLE WINAPI CreateFileF( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile )
|
||||
{
|
||||
dwShareMode |= FILE_SHARE_READ | FILE_SHARE_WRITE;
|
||||
return cDatService::g_fn_CreateFile( lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
|
||||
dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile );
|
||||
}
|
||||
|
||||
static cHookDescriptor _hooks[] = {
|
||||
{ eByName, _T( "kernel32.dll" ), _T( "CreateFileA" ), 0, reinterpret_cast< DWORD >( CreateFileF ), 0 },
|
||||
};
|
||||
|
||||
cDatService::cFileFilter *cDatService::getFilter( LPTSTR szFilter, int nLength )
|
||||
{
|
||||
std::string strFilter( szFilter, nLength );
|
||||
|
||||
for( cFileFilterList::iterator i = m_filters.begin(); i != m_filters.end(); ++ i )
|
||||
{
|
||||
if( strFilter == i->m_strName )
|
||||
return &(*(i));
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
HRESULT cDatService::createFilter( cDatService::cFileFilter *pFilter, REFIID iid, LPVOID *ppvItf )
|
||||
{
|
||||
static _bstr_t _strFilter( _T( "FileFilters" ) );
|
||||
|
||||
CComPtr< IDecalEnum > pEnumFilter;
|
||||
if( m_pDecal->get_Configuration( _strFilter, pFilter->m_clsid, &pEnumFilter ) != S_OK )
|
||||
return E_FAIL;
|
||||
|
||||
return pEnumFilter->CreateInstance( iid, ppvItf );
|
||||
}
|
||||
|
||||
HRESULT cDatService::onInitialize()
|
||||
{
|
||||
USES_CONVERSION;
|
||||
|
||||
static _bstr_t _strPortal( _T( "%ac%\\portal.dat" ) ),
|
||||
_strCell( _T( "%ac%\\cell.dat" ) );
|
||||
|
||||
if( g_p == NULL )
|
||||
{
|
||||
hookFunctions( _hooks, 1, true );
|
||||
g_fn_CreateFile = reinterpret_cast< fn_CreateFile >( _hooks[ 0 ].m_pOldFunction );
|
||||
g_p = this;
|
||||
}
|
||||
|
||||
CComObject< cDatLibrary > *pComCell, *pComPortal;
|
||||
CComObject< cDatLibrary >::CreateInstance( &pComCell );
|
||||
CComObject< cDatLibrary >::CreateInstance( &pComPortal );
|
||||
|
||||
pComCell->AddRef();
|
||||
pComPortal->AddRef();
|
||||
|
||||
m_pCell = pComCell;
|
||||
m_pPortal = pComPortal;
|
||||
|
||||
m_pCell->load( this, _strCell, eCell, 256 );
|
||||
m_pPortal->load( this, _strPortal, ePortal, 1024 );
|
||||
|
||||
// Load the list of filters
|
||||
static _bstr_t _strFilter( _T( "FileFilters" ) ),
|
||||
_strPrefix( _T( "Prefix" ) ),
|
||||
_strCache( _T( "Cache" ) );
|
||||
CComPtr< IDecalEnum > pEnum;
|
||||
|
||||
m_pDecal->get_Configuration( _strFilter, GUID_NULL, &pEnum );
|
||||
|
||||
while( pEnum->Next() == S_OK )
|
||||
{
|
||||
CComVariant vPrefix, vCache;
|
||||
cFileFilter;
|
||||
|
||||
cFileFilter ff;
|
||||
pEnum->get_ComClass( &ff.m_clsid );
|
||||
|
||||
HRESULT hRes = pEnum->get_Property( _strPrefix, &vPrefix );
|
||||
if( !SUCCEEDED( hRes ) || vPrefix.vt != VT_BSTR )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
continue;
|
||||
}
|
||||
|
||||
hRes = pEnum->get_Property( _strCache, &vCache );
|
||||
if( !SUCCEEDED( hRes ) || vCache.vt != VT_I4 )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
continue;
|
||||
}
|
||||
|
||||
ff.m_bCache = !!vCache.lVal;
|
||||
|
||||
LPTSTR szPrefix = OLE2T( vPrefix.bstrVal );
|
||||
::_tcslwr( szPrefix );
|
||||
ff.m_strName = szPrefix;
|
||||
|
||||
m_filters.push_back( ff );
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
void cDatService::onTerminate()
|
||||
{
|
||||
m_cache.clear();
|
||||
m_filters.clear();
|
||||
|
||||
if( g_p == this )
|
||||
{
|
||||
hookFunctions( _hooks, 1, false );
|
||||
g_p = NULL;
|
||||
}
|
||||
|
||||
m_pCell->Release();
|
||||
m_pPortal->Release();
|
||||
|
||||
m_pCell = NULL;
|
||||
m_pPortal = NULL;
|
||||
}
|
||||
|
||||
cDatService *cDatService::g_p = NULL;
|
||||
cDatService::fn_CreateFile cDatService::g_fn_CreateFile = NULL;
|
||||
|
||||
STDMETHODIMP cDatService::Lookup( BSTR strName, IUnknown **ppItf )
|
||||
{
|
||||
static _bstr_t _strPortal( _T( "portal" ) ),
|
||||
_strCell( _T( "cell" ) );
|
||||
|
||||
if( ::VarBstrCmp( strName, _strPortal, 0, NORM_IGNORECASE ) == VARCMP_EQ )
|
||||
return m_pPortal->QueryInterface( IID_IUnknown, reinterpret_cast< void ** >( ppItf ) );
|
||||
|
||||
if( ::VarBstrCmp( strName, _strCell, 0, NORM_IGNORECASE ) == VARCMP_EQ )
|
||||
return m_pCell->QueryInterface( IID_IUnknown, reinterpret_cast< void ** >( ppItf ) );
|
||||
|
||||
// None of the above
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
87
Native/DecalDat/DatService.h
Normal file
87
Native/DecalDat/DatService.h
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
// DatService.h : Declaration of the cDatService
|
||||
|
||||
#ifndef __DATSERVICE_H_
|
||||
#define __DATSERVICE_H_
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
#include <DecalImpl.h>
|
||||
|
||||
class cDatLibrary;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatService
|
||||
class ATL_NO_VTABLE cDatService :
|
||||
public CComObjectRootEx<CComSingleThreadModel>,
|
||||
public CComCoClass<cDatService, &CLSID_DatService>,
|
||||
public IDecalServiceImpl< cDatService >,
|
||||
public IDecalDirectory,
|
||||
public IDispatchImpl<IDatService, &IID_IDatService, &LIBID_DecalDat>
|
||||
{
|
||||
public:
|
||||
cDatService()
|
||||
: m_pCell( NULL ),
|
||||
m_pPortal( NULL )
|
||||
{
|
||||
}
|
||||
|
||||
struct cFileFilter
|
||||
{
|
||||
std::string m_strName;
|
||||
CLSID m_clsid;
|
||||
bool m_bCache;
|
||||
};
|
||||
|
||||
typedef std::vector< cFileFilter > cFileFilterList;
|
||||
cFileFilterList m_filters;
|
||||
|
||||
cFileFilter *getFilter( LPTSTR szFilter, int nLength );
|
||||
HRESULT createFilter( cFileFilter *pFilter, REFIID iid, LPVOID *ppvItf );
|
||||
|
||||
enum eLibrary
|
||||
{
|
||||
eCell,
|
||||
ePortal
|
||||
};
|
||||
|
||||
struct cFileCache
|
||||
{
|
||||
cFileFilter *m_pFilter;
|
||||
eLibrary m_library;
|
||||
DWORD m_dwFile;
|
||||
CComPtr< IUnknown > m_pFile;
|
||||
};
|
||||
|
||||
typedef std::deque< cFileCache > cFileCacheList;
|
||||
cFileCacheList m_cache;
|
||||
|
||||
HRESULT onInitialize();
|
||||
void onTerminate();
|
||||
|
||||
cDatLibrary *m_pCell,
|
||||
*m_pPortal;
|
||||
|
||||
static cDatService *g_p;
|
||||
|
||||
// Hooked functions
|
||||
typedef HANDLE (WINAPI *fn_CreateFile)(LPCTSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
|
||||
static fn_CreateFile g_fn_CreateFile;
|
||||
|
||||
DECLARE_REGISTRY_RESOURCEID(IDR_DATSERVICE)
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||||
|
||||
BEGIN_COM_MAP(cDatService)
|
||||
COM_INTERFACE_ENTRY(IDecalService)
|
||||
COM_INTERFACE_ENTRY(IDecalDirectory)
|
||||
COM_INTERFACE_ENTRY(IDatService)
|
||||
COM_INTERFACE_ENTRY(IDispatch)
|
||||
END_COM_MAP()
|
||||
|
||||
// IDatService
|
||||
public:
|
||||
|
||||
// IDecalDirectory
|
||||
STDMETHOD(Lookup)(BSTR strName, IUnknown **ppItf);
|
||||
};
|
||||
|
||||
#endif //__DATSERVICE_H_
|
||||
43
Native/DecalDat/DatService.rgs
Normal file
43
Native/DecalDat/DatService.rgs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
HKCR
|
||||
{
|
||||
DecalDat.DatService.1 = s 'DatService Class'
|
||||
{
|
||||
CLSID = s '{37B083F0-276E-43AD-8D26-3F7449B519DC}'
|
||||
}
|
||||
DecalDat.DatService = s 'DatService Class'
|
||||
{
|
||||
CLSID = s '{37B083F0-276E-43AD-8D26-3F7449B519DC}'
|
||||
CurVer = s 'DecalDat.DatService.1'
|
||||
}
|
||||
NoRemove CLSID
|
||||
{
|
||||
ForceRemove {37B083F0-276E-43AD-8D26-3F7449B519DC} = s 'DatService Class'
|
||||
{
|
||||
ProgID = s 'DecalDat.DatService.1'
|
||||
VersionIndependentProgID = s 'DecalDat.DatService'
|
||||
ForceRemove 'Programmable'
|
||||
InprocServer32 = s '%MODULE%'
|
||||
{
|
||||
val ThreadingModel = s 'Apartment'
|
||||
}
|
||||
'TypeLib' = s '{C2C11EC7-2CB9-4999-BDD9-AF599455601F}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HKLM
|
||||
{
|
||||
NoRemove SOFTWARE
|
||||
{
|
||||
NoRemove Decal
|
||||
{
|
||||
NoRemove Services
|
||||
{
|
||||
ForceRemove {37B083F0-276E-43AD-8D26-3F7449B519DC} = s 'Decal Dat Service'
|
||||
{
|
||||
val Enabled = d '1'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
95
Native/DecalDat/DatStream.cpp
Normal file
95
Native/DecalDat/DatStream.cpp
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
// DatStream.cpp : Implementation of cDatStream
|
||||
#include "stdafx.h"
|
||||
#include "DecalDat.h"
|
||||
#include "DatStream.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatStream
|
||||
|
||||
|
||||
STDMETHODIMP cDatStream::get_Size(long *pVal)
|
||||
{
|
||||
if( pVal == NULL )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
*pVal = static_cast< long >( m_pFile->getSize() );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatStream::get_Tell(long *pVal)
|
||||
{
|
||||
if( pVal == NULL )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
*pVal = static_cast< long >( m_pFile->tell() );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatStream::Skip(long Bytes)
|
||||
{
|
||||
if( Bytes < 0 )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
m_pFile->skip( static_cast< DWORD >( Bytes ) );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatStream::Restart()
|
||||
{
|
||||
m_pFile->reset();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatStream::ReadBinary(long Bytes, BYTE *Buffer)
|
||||
{
|
||||
if( Bytes < 0 )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if( Buffer == NULL )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
m_pFile->read( Buffer, static_cast< DWORD >( Bytes ) );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
STDMETHODIMP cDatStream::Read(long Bytes, BSTR *Data)
|
||||
{
|
||||
if( Bytes < 0 )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if( Data == NULL )
|
||||
{
|
||||
_ASSERT( FALSE );
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
BYTE *Buffer = reinterpret_cast< BYTE * >( ::_alloca( Bytes ) );
|
||||
m_pFile->read( Buffer, static_cast< DWORD >( Bytes ) );
|
||||
|
||||
*Data = ::SysAllocStringByteLen( reinterpret_cast< LPCTSTR >( Buffer ), Bytes );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
42
Native/DecalDat/DatStream.h
Normal file
42
Native/DecalDat/DatStream.h
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
// DatStream.h : Declaration of the cDatStream
|
||||
|
||||
#ifndef __DATSTREAM_H_
|
||||
#define __DATSTREAM_H_
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
#include "DatFile.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// cDatStream
|
||||
class ATL_NO_VTABLE cDatStream :
|
||||
public CComObjectRootEx<CComSingleThreadModel>,
|
||||
public CComCoClass<cDatStream, &CLSID_DatStream>,
|
||||
public IDatStream
|
||||
{
|
||||
public:
|
||||
cDatStream()
|
||||
{
|
||||
}
|
||||
|
||||
cDatFile::cFile *m_pFile;
|
||||
|
||||
DECLARE_REGISTRY_RESOURCEID(IDR_DATSTREAM)
|
||||
|
||||
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
||||
|
||||
BEGIN_COM_MAP(cDatStream)
|
||||
COM_INTERFACE_ENTRY(IDatStream)
|
||||
END_COM_MAP()
|
||||
|
||||
// IDatStream
|
||||
public:
|
||||
STDMETHOD(Read)(long Bytes, /*[out, retval]*/ BSTR *Data);
|
||||
STDMETHOD(ReadBinary)(long Bytes, /*[size_is(Bytes)]*/ BYTE *Buffer);
|
||||
STDMETHOD(Restart)();
|
||||
STDMETHOD(Skip)(long Bytes);
|
||||
STDMETHOD(get_Tell)(/*[out, retval]*/ long *pVal);
|
||||
STDMETHOD(get_Size)(/*[out, retval]*/ long *pVal);
|
||||
};
|
||||
|
||||
#endif //__DATSTREAM_H_
|
||||
71
Native/DecalDat/DecalDat.cpp
Normal file
71
Native/DecalDat/DecalDat.cpp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
// DecalDat.cpp : Implementation of DLL Exports.
|
||||
|
||||
|
||||
// Note: Proxy/Stub Information
|
||||
// To build a separate proxy/stub DLL,
|
||||
// run nmake -f DecalDatps.mk in the project directory.
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "resource.h"
|
||||
#include <initguid.h>
|
||||
#include "DecalDat.h"
|
||||
|
||||
#include "DecalDat_i.c"
|
||||
#include "DatService.h"
|
||||
|
||||
CComModule _Module;
|
||||
|
||||
BEGIN_OBJECT_MAP(ObjectMap)
|
||||
OBJECT_ENTRY(CLSID_DatService, cDatService)
|
||||
END_OBJECT_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// DLL Entry Point
|
||||
|
||||
extern "C"
|
||||
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
|
||||
{
|
||||
if (dwReason == DLL_PROCESS_ATTACH)
|
||||
{
|
||||
_Module.Init(ObjectMap, hInstance, &LIBID_DecalDat);
|
||||
DisableThreadLibraryCalls(hInstance);
|
||||
}
|
||||
else if (dwReason == DLL_PROCESS_DETACH)
|
||||
_Module.Term();
|
||||
return TRUE; // ok
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Used to determine whether the DLL can be unloaded by OLE
|
||||
|
||||
STDAPI DllCanUnloadNow(void)
|
||||
{
|
||||
return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Returns a class factory to create an object of the requested type
|
||||
|
||||
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
|
||||
{
|
||||
return _Module.GetClassObject(rclsid, riid, ppv);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// DllRegisterServer - Adds entries to the system registry
|
||||
|
||||
STDAPI DllRegisterServer(void)
|
||||
{
|
||||
// registers object, typelib and all interfaces in typelib
|
||||
return _Module.RegisterServer(TRUE);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// DllUnregisterServer - Removes entries from the system registry
|
||||
|
||||
STDAPI DllUnregisterServer(void)
|
||||
{
|
||||
return _Module.UnregisterServer(TRUE);
|
||||
}
|
||||
|
||||
|
||||
9
Native/DecalDat/DecalDat.def
Normal file
9
Native/DecalDat/DecalDat.def
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
; DecalDat.def : Declares the module parameters.
|
||||
|
||||
LIBRARY "DecalDat.DLL"
|
||||
|
||||
EXPORTS
|
||||
DllCanUnloadNow PRIVATE
|
||||
DllGetClassObject PRIVATE
|
||||
DllRegisterServer PRIVATE
|
||||
DllUnregisterServer PRIVATE
|
||||
284
Native/DecalDat/DecalDat.dsp
Normal file
284
Native/DecalDat/DecalDat.dsp
Normal file
|
|
@ -0,0 +1,284 @@
|
|||
# Microsoft Developer Studio Project File - Name="DecalDat" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=DecalDat - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "DecalDat.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "DecalDat.mak" CFG="DecalDat - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "DecalDat - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "DecalDat - Win32 Unicode Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "DecalDat - Win32 Release MinSize" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "DecalDat - Win32 Unicode Release MinSize" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "DecalDat - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "..\Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD CPP /nologo /MDd /W3 /Gm /Gi /ZI /Od /Oy /Ob0 /I "..\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD MTL /nologo /I "..\Include" /Oicf
|
||||
# ADD BASE RSC /l 0x1009 /d "_DEBUG"
|
||||
# ADD RSC /l 0x1009 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Custom Build - Performing registration
|
||||
OutDir=.\..\Debug
|
||||
TargetPath=\Projects\decaldev2\source\Debug\DecalDat.dll
|
||||
InputPath=\Projects\decaldev2\source\Debug\DecalDat.dll
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
regsvr32 /s /c "$(TargetPath)"
|
||||
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "DecalDat - Win32 Unicode Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "DebugU"
|
||||
# PROP BASE Intermediate_Dir "DebugU"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "DebugU"
|
||||
# PROP Intermediate_Dir "DebugU"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
|
||||
# ADD MTL /nologo /I "..\Include" /Oicf
|
||||
# ADD BASE RSC /l 0x1009 /d "_DEBUG"
|
||||
# ADD RSC /l 0x1009 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
|
||||
# Begin Custom Build - Performing registration
|
||||
OutDir=.\DebugU
|
||||
TargetPath=.\DebugU\DecalDat.dll
|
||||
InputPath=.\DebugU\DecalDat.dll
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
if "%OS%"=="" goto NOTNT
|
||||
if not "%OS%"=="Windows_NT" goto NOTNT
|
||||
regsvr32 /s /c "$(TargetPath)"
|
||||
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
|
||||
goto end
|
||||
:NOTNT
|
||||
echo Warning : Cannot register Unicode DLL on Windows 95
|
||||
:end
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "DecalDat - Win32 Release MinSize"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "ReleaseMinDependency"
|
||||
# PROP BASE Intermediate_Dir "ReleaseMinDependency"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "..\Release"
|
||||
# PROP Intermediate_Dir "ReleaseMinDependency"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /D "_ATL_STATIC_REGISTRY" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MD /W3 /GX- /Zi /Oa /Og /Oi /Os /Oy /Ob1 /Gf /Gy /I "..\Include" /D "_MBCS" /D "_ATL_DLL" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD MTL /nologo /I "..\Include" /Oicf
|
||||
# ADD BASE RSC /l 0x1009 /d "NDEBUG"
|
||||
# ADD RSC /l 0x1009 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libctiny.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libctiny.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\Release"
|
||||
# Begin Custom Build - Performing registration
|
||||
OutDir=.\..\Release
|
||||
TargetPath=\Projects\decaldev2\source\Release\DecalDat.dll
|
||||
InputPath=\Projects\decaldev2\source\Release\DecalDat.dll
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
regsvr32 /s /c "$(TargetPath)"
|
||||
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ELSEIF "$(CFG)" == "DecalDat - Win32 Unicode Release MinSize"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "ReleaseUMinSize"
|
||||
# PROP BASE Intermediate_Dir "ReleaseUMinSize"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "ReleaseUMinSize"
|
||||
# PROP Intermediate_Dir "ReleaseUMinSize"
|
||||
# PROP Ignore_Export_Lib 1
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /Zi /O1 /I "..\Include" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /Yu"stdafx.h" /FD /c
|
||||
# ADD MTL /nologo /I "..\Include" /Oicf
|
||||
# ADD BASE RSC /l 0x1009 /d "NDEBUG"
|
||||
# ADD RSC /l 0x1009 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libctiny.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\Release"
|
||||
# Begin Custom Build - Performing registration
|
||||
OutDir=.\ReleaseUMinSize
|
||||
TargetPath=.\ReleaseUMinSize\DecalDat.dll
|
||||
InputPath=.\ReleaseUMinSize\DecalDat.dll
|
||||
SOURCE="$(InputPath)"
|
||||
|
||||
"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
|
||||
if "%OS%"=="" goto NOTNT
|
||||
if not "%OS%"=="Windows_NT" goto NOTNT
|
||||
regsvr32 /s /c "$(TargetPath)"
|
||||
echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
|
||||
goto end
|
||||
:NOTNT
|
||||
echo Warning : Cannot register Unicode DLL on Windows 95
|
||||
:end
|
||||
|
||||
# End Custom Build
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "DecalDat - Win32 Debug"
|
||||
# Name "DecalDat - Win32 Unicode Debug"
|
||||
# Name "DecalDat - Win32 Release MinSize"
|
||||
# Name "DecalDat - Win32 Unicode Release MinSize"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatFile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatLibrary.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatService.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatStream.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DecalDat.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DecalDat.def
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\Include\DecalDat.idl
|
||||
# ADD MTL /nologo /tlb "DecalDat.tlb" /h "..\Include\DecalDat.h" /iid "..\Include\DecalDat_i.c" /Oicf
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DecalDat.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
# ADD CPP /Yc"stdafx.h"
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatFile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatLibrary.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatService.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatStream.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StdAfx.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatLibrary.rgs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatService.rgs
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\DatStream.rgs
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
133
Native/DecalDat/DecalDat.rc
Normal file
133
Native/DecalDat/DecalDat.rc
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
#include "..\Include\DecalVersion.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"1 TYPELIB ""DecalDat.tlb""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION DECAL_MAJOR, DECAL_MINOR, DECAL_BUGFIX, DECAL_RELEASE
|
||||
PRODUCTVERSION DECAL_MAJOR, DECAL_MINOR, DECAL_BUGFIX, DECAL_RELEASE
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "Comments", "DecalDat houses the functionality that extracts data from the portal.dat file"
|
||||
VALUE "FileDescription", "DecalDat Module"
|
||||
VALUE "FileVersion", DECAL_VERSION_STRING
|
||||
VALUE "InternalName", "DecalDat"
|
||||
VALUE "LegalCopyright", "Copyright 2001"
|
||||
VALUE "OriginalFilename", "DecalDat.DLL"
|
||||
VALUE "ProductName", "DecalDat Module"
|
||||
VALUE "ProductVersion", DECAL_VERSION_STRING
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PROJNAME "DecalDat"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (Canada) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// REGISTRY
|
||||
//
|
||||
|
||||
IDR_DATSERVICE REGISTRY "DatService.rgs"
|
||||
#endif // English (Canada) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
1 TYPELIB "DecalDat.tlb"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
784
Native/DecalDat/DecalDat.vcproj
Normal file
784
Native/DecalDat/DecalDat.vcproj
Normal file
|
|
@ -0,0 +1,784 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="DecalDat"
|
||||
SccProjectName=""
|
||||
SccLocalPath=""
|
||||
Keyword="AtlProj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Unicode Debug|Win32"
|
||||
OutputDirectory=".\DebugU"
|
||||
IntermediateDirectory=".\DebugU"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="1">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\DebugU/DecalDat.pch"
|
||||
AssemblerListingLocation=".\DebugU/"
|
||||
ObjectFile=".\DebugU/"
|
||||
ProgramDataBaseFileName=".\DebugU/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile=".\DebugU/DecalDat.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ModuleDefinitionFile=".\DecalDat.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\DebugU/DecalDat.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary=".\DebugU/DecalDat.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
GenerateStublessProxies="TRUE"
|
||||
TypeLibraryName=".\DebugU/DecalDat.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="4105"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Unicode Release MinSize|Win32"
|
||||
OutputDirectory=".\ReleaseUMinSize"
|
||||
IntermediateDirectory=".\ReleaseUMinSize"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
UseOfATL="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="TRUE"
|
||||
CharacterSet="1">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\ReleaseUMinSize/DecalDat.pch"
|
||||
AssemblerListingLocation=".\ReleaseUMinSize/"
|
||||
ObjectFile=".\ReleaseUMinSize/"
|
||||
ProgramDataBaseFileName=".\ReleaseUMinSize/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
IgnoreImportLibrary="TRUE"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib libctiny.lib"
|
||||
OutputFile=".\ReleaseUMinSize/DecalDat.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="..\Release"
|
||||
ModuleDefinitionFile=".\DecalDat.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\ReleaseUMinSize/DecalDat.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary=".\ReleaseUMinSize/DecalDat.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
GenerateStublessProxies="TRUE"
|
||||
TypeLibraryName=".\ReleaseUMinSize/DecalDat.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="4105"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release MinSize|Win32"
|
||||
OutputDirectory=".\..\Release"
|
||||
IntermediateDirectory=".\ReleaseMinDependency"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
UseOfATL="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="4"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="TRUE"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\ReleaseMinDependency/DecalDat.pch"
|
||||
AssemblerListingLocation=".\ReleaseMinDependency/"
|
||||
ObjectFile=".\ReleaseMinDependency/"
|
||||
ProgramDataBaseFileName=".\ReleaseMinDependency/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib libctiny.lib"
|
||||
OutputFile=".\..\Release/DecalDat.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="..\Release"
|
||||
ModuleDefinitionFile=".\DecalDat.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\..\Release/DecalDat.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary=".\..\Release/DecalDat.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
GenerateStublessProxies="TRUE"
|
||||
TypeLibraryName=".\..\Release/DecalDat.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="4105"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\..\Debug"
|
||||
IntermediateDirectory=".\Debug"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
OmitFramePointers="TRUE"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\Debug/DecalDat.pch"
|
||||
AssemblerListingLocation=".\Debug/"
|
||||
ObjectFile=".\Debug/"
|
||||
ProgramDataBaseFileName=".\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
IgnoreImportLibrary="TRUE"
|
||||
OutputFile=".\..\Debug/DecalDat.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
ModuleDefinitionFile=".\DecalDat.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\..\Debug/DecalDat.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary=".\..\Debug/DecalDat.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
GenerateStublessProxies="TRUE"
|
||||
TypeLibraryName=".\..\Debug/DecalDat.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="4105"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release MinDependency|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
UseOfMFC="0"
|
||||
UseOfATL="2"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="4"
|
||||
GlobalOptimizations="TRUE"
|
||||
InlineFunctionExpansion="1"
|
||||
EnableIntrinsicFunctions="TRUE"
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="TRUE"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
PrecompiledHeaderThrough="stdafx.h"
|
||||
PrecompiledHeaderFile=".\ReleaseMinDependency/DecalDat.pch"
|
||||
AssemblerListingLocation=".\ReleaseMinDependency/"
|
||||
ObjectFile=".\ReleaseMinDependency/"
|
||||
ProgramDataBaseFileName=".\ReleaseMinDependency/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib"
|
||||
OutputFile=".\..\Release/DecalDat.dll"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="..\Release"
|
||||
ModuleDefinitionFile=".\DecalDat.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile=".\..\Release/DecalDat.pdb"
|
||||
SubSystem="2"
|
||||
ImportLibrary=".\..\Release/DecalDat.lib"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories="..\Include"
|
||||
SuppressStartupBanner="TRUE"
|
||||
TargetEnvironment="1"
|
||||
GenerateStublessProxies="TRUE"
|
||||
TypeLibraryName=".\..\Release/DecalDat.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="4105"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="DatFile.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatLibrary.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatService.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatStream.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DecalDat.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DecalDat.def">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Include\DecalDat.idl">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName="DecalDat.tlb"
|
||||
HeaderFileName="..\Include\DecalDat.h"
|
||||
InterfaceIdentifierFileName="..\Include\DecalDat_i.c"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName="DecalDat.tlb"
|
||||
HeaderFileName="..\Include\DecalDat.h"
|
||||
InterfaceIdentifierFileName="..\Include\DecalDat_i.c"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName="DecalDat.tlb"
|
||||
HeaderFileName="..\Include\DecalDat.h"
|
||||
InterfaceIdentifierFileName="..\Include\DecalDat_i.c"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName="DecalDat.tlb"
|
||||
HeaderFileName="..\Include\DecalDat.h"
|
||||
InterfaceIdentifierFileName="..\Include\DecalDat_i.c"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName="DecalDat.tlb"
|
||||
HeaderFileName="..\Include\DecalDat.h"
|
||||
InterfaceIdentifierFileName="..\Include\DecalDat_i.c"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DecalDat.rc">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;$(NoInherit)"
|
||||
AdditionalIncludeDirectories="$(OUTDIR)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;$(NoInherit)"
|
||||
AdditionalIncludeDirectories="$(OUTDIR)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="$(OUTDIR)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="$(OUTDIR)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions=""
|
||||
AdditionalIncludeDirectories="$(OUTDIR)"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.cpp">
|
||||
<FileConfiguration
|
||||
Name="Unicode Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_UNICODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Unicode Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_UNICODE;_ATL_DLL;_ATL_MIN_CRT;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
ExceptionHandling="TRUE"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinSize|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release MinDependency|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_MBCS;_ATL_DLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
|
||||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl">
|
||||
<File
|
||||
RelativePath="DatFile.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatLibrary.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatService.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatStream.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Resource.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StdAfx.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
|
||||
<File
|
||||
RelativePath="DatLibrary.rgs">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatService.rgs">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="DatStream.rgs">
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
11
Native/DecalDat/DecalDatps.def
Normal file
11
Native/DecalDat/DecalDatps.def
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
LIBRARY "DecalDatPS"
|
||||
|
||||
DESCRIPTION 'Proxy/Stub DLL'
|
||||
|
||||
EXPORTS
|
||||
DllGetClassObject @1 PRIVATE
|
||||
DllCanUnloadNow @2 PRIVATE
|
||||
GetProxyDllInfo @3 PRIVATE
|
||||
DllRegisterServer @4 PRIVATE
|
||||
DllUnregisterServer @5 PRIVATE
|
||||
16
Native/DecalDat/DecalDatps.mk
Normal file
16
Native/DecalDat/DecalDatps.mk
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
DecalDatps.dll: dlldata.obj DecalDat_p.obj DecalDat_i.obj
|
||||
link /dll /out:DecalDatps.dll /def:DecalDatps.def /entry:DllMain dlldata.obj DecalDat_p.obj DecalDat_i.obj \
|
||||
kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
|
||||
|
||||
.c.obj:
|
||||
cl /c /Ox /DWIN32 /D_WIN32_WINNT=0x0400 /DREGISTER_PROXY_DLL \
|
||||
$<
|
||||
|
||||
clean:
|
||||
@del DecalDatps.dll
|
||||
@del DecalDatps.lib
|
||||
@del DecalDatps.exp
|
||||
@del dlldata.obj
|
||||
@del DecalDat_p.obj
|
||||
@del DecalDat_i.obj
|
||||
5
Native/DecalDat/StdAfx.cpp
Normal file
5
Native/DecalDat/StdAfx.cpp
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
// stdafx.cpp : source file that includes just the standard includes
|
||||
// stdafx.pch will be the pre-compiled header
|
||||
// stdafx.obj will contain the pre-compiled type information
|
||||
|
||||
#include "stdafx.h"
|
||||
44
Native/DecalDat/StdAfx.h
Normal file
44
Native/DecalDat/StdAfx.h
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently,
|
||||
// but are changed infrequently
|
||||
|
||||
#if !defined(AFX_STDAFX_H__AC185D62_C11D_4681_B5DF_265B11F73819__INCLUDED_)
|
||||
#define AFX_STDAFX_H__AC185D62_C11D_4681_B5DF_265B11F73819__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#define STRICT
|
||||
#define _WIN32_WINDOWS 0x0410
|
||||
#define _ATL_APARTMENT_THREADED
|
||||
|
||||
#pragma warning(disable:4530)
|
||||
|
||||
//C Library includes
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
#ifdef NDEBUG
|
||||
#ifdef _ATL_DLL
|
||||
#undef _ATL_DLL
|
||||
#endif
|
||||
#endif
|
||||
#include <atlbase.h>
|
||||
//You may derive a class from CComModule and use it if you want to override
|
||||
//something, but do not change the name of _Module
|
||||
extern CComModule _Module;
|
||||
#include <atlcom.h>
|
||||
#include <comdef.h>
|
||||
#include <exception>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
|
||||
#include <Decal.h>
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__AC185D62_C11D_4681_B5DF_265B11F73819__INCLUDED)
|
||||
19
Native/DecalDat/resource.h
Normal file
19
Native/DecalDat/resource.h
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by DecalDat.rc
|
||||
//
|
||||
#define IDS_PROJNAME 100
|
||||
#define IDR_DATSERVICE 101
|
||||
#define IDR_DATLIBRARY 102
|
||||
#define IDR_DATSTREAM 103
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 201
|
||||
#define _APS_NEXT_COMMAND_VALUE 32768
|
||||
#define _APS_NEXT_CONTROL_VALUE 201
|
||||
#define _APS_NEXT_SYMED_VALUE 104
|
||||
#endif
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue