Reallocates memory
#include <nwdp_lib.h>
N_EXTERN_LIBRARY (NWDPInitCode) NWDPLibRealloc (
NWDPAccessorRef accessorRef,
pnptr resultMemPtr,
nptr sourceMemPtr,
nint szMem);
(IN) Specifies the NWDPAccessorData structure whose fields are accessed by using the provided error macros.
(OUT) Points to a pointer which will receive the newly allocated memory's address.
(IN) Points to the original allocation of memory which is to be copied and freed (replaced by the newer allocation).
(IN) Specifies the size of memory to allocate.
0x00000000 |
N_SUCCESS |
0x030A0001 |
NWDP_EC_NO_MEMORY |
0x030A0009 |
NWDP_EC_ARTIFICIAL_MEM_LIMIT |
0xFFFFFFFE |
NWDP_RC_INVALID_ACCESSOR |
0xFFFFFFFF |
N_FAILURE |
NWDPLibReallo is not recommended except for applications which must use this library.
NWDPLibRealloc can block if the server has to wait for allocation.
Any memory allocated by NWDPLibRealloc is automatically freed when NWDPLibTerm is called.
NWDPLibRealloc is equivalent to realloc from the C run-time library except for the error handling.
The errors NWDP_EC_NO_MEMORY and NWDP_EC_ARTIFICIAL_MEM_LIMIT both return the following information:
The otherError field of the accessorRef will contain the size of the request made of the system ( szMem), and the otherError2 field of the accessorRef will contain the current memory allocation total made through NWDPLibxxxx entry points.