Ejemplo n.º 1
0
	ULONGLONG GetFileLength()
	{
		if(FALSE==CheckSafe()) return FALSE;
		ULONGLONG ulFileLen = 0;
		m_rwLock.rlock();
		ulFileLen = m_ulFileLen;
		m_rwLock.unlock();
		return ulFileLen;
	}
Ejemplo n.º 2
0
	BOOL ReadFileData( LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,CONST ULONGLONG ulFilePointer )
	{
		if(FALSE==CheckSafe()) return FALSE;

		m_rwLock.rlock();

		ULONGLONG ulMaxReadLen = min(nNumberOfBytesToRead,(m_ulFileLen - ulFilePointer));
		if ( ulMaxReadLen > 0 )
		{
			memcpy_s(lpBuffer,ulMaxReadLen,m_pMemBuf+ulFilePointer,ulMaxReadLen);
		}

		if(lpNumberOfBytesRead)
		{
			*lpNumberOfBytesRead = ulMaxReadLen;
		}

		m_rwLock.unlock();

		return TRUE;
	}
Ejemplo n.º 3
0
VOID CommonGetCookie(LPCSTR pchUrl,CHAR *pchCookieData,int nCookieDataLen,BOOL bFromJs = FALSE)
{

	CUrlParser urlParser;
	urlParser.ParseUrl(pchUrl);

	CStringA strCheckDomain;
	strCheckDomain = urlParser.GetDomain();
	strCheckDomain = "."+strCheckDomain;

 	CStringA strSqlCmd;


	strSqlCmd.Format("select cookiename,cookievalue from cookiedata where \"%s\" like \"%%\"||domain and \"%s\" like path||\"%%\" %s %s "
		,strCheckDomain
		,urlParser.GetPath()
		,bFromJs?"and httponly=0":""
		,urlParser.GetProtocol().CompareNoCase("https") == 0?"and secure=1":"and secure=0"
		);

	CStringA strCookieResult;
	char *pcherrmsg = NULL;

	DWORD dwTickStart = GetTickCount();

	Locker.rlock();
 	ASSERT(sqlite3_exec(g_pDB,strSqlCmd,query_cookie_callback,&strCookieResult,&pcherrmsg) == 0);
	Locker.unlock();

	DWORD dwUseTime = GetTickCount() - dwTickStart;

	CStringA strMsgout;
	strMsgout.Format("查询Cookie 用时:%d\r\n",dwUseTime);
	OutputDebugStringA(strMsgout);

	strcpy_s(pchCookieData,nCookieDataLen,strCookieResult.GetBuffer());
	

}