107 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| //
 | |
| // DEBUGPP.CPP
 | |
| //
 | |
| //  Source file for ArchiveLib 2.0
 | |
| //
 | |
| //  Copyright (c) Greenleaf Software, Inc. 1994-1996
 | |
| //  All Rights Reserved
 | |
| //
 | |
| // CONTENTS
 | |
| //
 | |
| //  IsBadWritePtr()
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   February 14, 1996  2.0A : New release
 | |
| 
 | |
| #include "arclib.h"
 | |
| #if !defined( AL_IBM )
 | |
| #pragma hdrstop
 | |
| #endif
 | |
| 
 | |
| #include <windows.h>
 | |
| 
 | |
| //
 | |
| // NAME
 | |
| //
 | |
| //  IsBadWritePtr()
 | |
| //
 | |
| // PLATFORMS/ENVIRONMENTS
 | |
| //
 | |
| //  Windows
 | |
| //  C++  C
 | |
| //
 | |
| // SHORT DESCRIPTION
 | |
| //
 | |
| //  Test the validity of a pointer.
 | |
| //
 | |
| // C++ SYNOPSIS
 | |
| //
 | |
| //  #include "arclib.h"
 | |
| //
 | |
| //  BOOL WINAPI AL_CLASS_TYPE IsBadWritePtr( void FAR *lp, UINT cb );
 | |
| //
 | |
| // C SYNOPSIS
 | |
| //
 | |
| //  #include "arclib.h"
 | |
| //
 | |
| //  BOOL WINAPI AL_CLASS_TYPE IsBadWritePtr( void FAR *lp, UINT cb );
 | |
| //
 | |
| // VB SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // DELPHI SYNOPSIS
 | |
| //
 | |
| //  None.
 | |
| //
 | |
| // ARGUMENTS
 | |
| //
 | |
| //  lp  :  A pointer to an object allocated from the Window heap, or in
 | |
| //         the program's stack or static data space.
 | |
| //
 | |
| //  cb  :  The size of the object.
 | |
| //
 | |
| // DESCRIPTION
 | |
| //
 | |
| //  IsBadWritePtr() is a Windows API function that we use in the debug
 | |
| //  versions of the library.  It simply performas a check of segment
 | |
| //  access data to verify that the calling program has write access to
 | |
| //  a given block of memory.
 | |
| //
 | |
| //  The problem is that Borland Power Pack doesn't provide a version of
 | |
| //  this function.  This is bad, because the library sort of assumes that
 | |
| //  PP libraries are basically Windows Apps.  So...  I include this dummy
 | |
| //  function in PowerPack libraries.
 | |
| //
 | |
| // RETURNS
 | |
| //
 | |
| //  0, always, which means that pointer is good.
 | |
| //
 | |
| // EXAMPLE
 | |
| //
 | |
| // SEE ALSO
 | |
| //
 | |
| // REVISION HISTORY
 | |
| //
 | |
| //   November 13, 1995  2.00A : First release.
 | |
| //
 | |
| 
 | |
| 
 | |
| #if defined( AL_FLAT_MODEL ) && (AL_BORLAND > 0x452 )
 | |
| extern "C"
 | |
| WINBASEAPI
 | |
| BOOL
 | |
| WINAPI
 | |
| AL_PROTO
 | |
| IsBadWritePtr(  /* Tag debug function */
 | |
|     LPVOID,
 | |
|     UINT
 | |
|     )
 | |
| #else
 | |
| extern "C" BOOL WINAPI AL_CLASS_TYPE IsBadWritePtr(void FAR*, UINT)
 | |
| #endif
 | |
| { return 0; }
 | |
| 
 | |
| 
 |