SpValid.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:1k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. SP_IsValidString( LPCSTR, int );
  7. SP_IsValidAddress( LPVOID, UINT, BOOL );
  8. */
  9. #include "StdAfx.h"
  10. #ifdef _DEBUG
  11. #undef THIS_FILE
  12. static char THIS_FILE[] = __FILE__;
  13. #endif
  14. #ifdef _DEBUG
  15. #define new DEBUG_NEW
  16. #endif
  17. BOOL SP_IsValidString(LPCSTR lpsz, int nLength)
  18. {
  19. #ifdef SP_WINDOWS
  20. if (lpsz == NULL)
  21. return FALSE;
  22. return ::IsBadStringPtr( lpsz, nLength) == 0;
  23. #else
  24. if (lpsz == NULL)
  25. return FALSE;
  26. return TRUE;
  27. #endif
  28. }
  29. BOOL SP_IsValidAddress( LPVOID lp, UINT nBytes, BOOL bReadWrite )
  30. {
  31. #ifdef SP_WINDOWS
  32. return (lp != NULL && !IsBadReadPtr(lp, nBytes) &&
  33. (!bReadWrite || !IsBadWritePtr((LPVOID)lp, nBytes)));
  34. #else
  35. if( NULL == lp )
  36. return FALSE;
  37. else
  38. return TRUE;
  39. #endif
  40. }