CoTaskMemFree
Frees a block of task memory previously allocated through a call to the CoTaskMemAlloc or CoTaskMemRealloc function.void CoTaskMemFree(
  void *pv  //Pointer to memory block to be freed
);
Parameter
pv 
[in] Pointer to the memory block to be freed. 
Res
The CoTaskMemFree function, using the default OLE allocator, frees a block of memory previously allocated through a call to the CoTaskMemAlloc or CoTaskMemRealloc function. The number of bytes freed equals the number of bytes that were originally allocated or reallocated. After the call, the memory block pointed to by pv is invalid and can no longer be used.Note   The pv parameter can be NULL, in which case this method has no effect.Requirements 
  Windows NT/2000/XP: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in objbase.h.
  Library: Use ole32.lib.