// // 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 // // 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; }