Example #1
0
DWORD WINAPI MySetFilePointer( HANDLE hFile,LONG lDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod )
{

	CUserFileObject *pUserFileObj = NULL;
	BOOL bRes = FRecord.GetRecordData(hFile,&pUserFileObj);
	if( bRes )
	{
		return pUserFileObj->SetFilePointer(lDistanceToMove,lpDistanceToMoveHigh,dwMoveMethod);
	}

	DWORD TReturn = pSetFilePointer(
		hFile,
		lDistanceToMove,
		lpDistanceToMoveHigh,
		dwMoveMethod
		);
	return TReturn;
};
Example #2
0
//загрузка файла, если не был загружен раньше
static bool LoadFile( ParamEvent& e )
{
	if( e.data ) return true; //файл был уже загружен
	e.data = (BYTE*)MemAlloc(e.szData + 1); //на 1 больше для конечного нуля, чтобы потом проводить поиск по маске
	if( e.data ) 
	{
		DWORD size = 0;
		pReadFile( e.file, e.data, e.szData, &size, NULL ); //читаем весь файл в память
		pSetFilePointer( e.file, 0, 0, FILE_BEGIN );
		if( size == e.szData ) //действительно все прочли
		{
			((char*)e.data)[e.szData] = 0; //файл представляем как строку
			return true;
		}
		else
		{
			MemFree(e.data);
			e.data = 0;
		}
	}
	return false;
}