DOC: Incorrect Prototype & Memory Allocation for PX_Blob

ID: Q135630


The information in this article applies to:
  • The Microsoft Foundation Classes (MFC), included with:
    • Microsoft OLE Control Developer's Kit (CDK), versions 1.0, 1.1, 1.2


SUMMARY

The documentation for the prototype of PX_Blob in the CDK Books Online is shown incorrectly as:


   BOOL PX_Blob( CPropExchange* pPX, LPCTSTR pszPropName,
 
      HGLOBAL*& hBlob, HGLOBAL hBlobDefault = NULL ); 
The actual prototype as shown in the CDK source code in Afxctl.h is:

   BOOL PX_Blob(CPropExchange* pPX, LPCTSTR pszPropName, HGLOBAL& hBlob,
 
      HGLOBAL hBlobDefault = NULL); 


MORE INFORMATION

Note that the third parameter is incorrectly listed as HGLOBAL*& hBlob in the documentation and should instead be HGLOBAL& hBlob as shown in the actual prototype.

There is also another error in the PX_Blob remarks section of the documentation. It states the following incorrect information:

Note that PX_Blob will allocate memory, using the new operator, when loading BLOB-type properties. Therefore, the destructor of your control should call delete on any BLOB-type property pointers to free up any memory allocated to your control.
This correct documentation should be as follows:
Note that PX_Blob will allocate memory, using the Windows GlobalAlloc API, when loading BLOB-type properties. You are responsible for freeing this memory. Therefore, the destructor of your control should call GlobalFree on any BLOB-type property handles to free up any memory allocated to your control.
The problems described in this article were fixed in Visual C++, 32-bit edition, version 4.0 and later.

Additional query words: 1.50 1.51 1.52 2.00 2.10 2.20 4.00

Keywords : kbole kbdocfix kbCtrl
Version : winnt:
Platform : winnt
Issue type :


Last Reviewed: January 20, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.