Article ID: 135630 - Last Review: November 21, 2006 - Revision: 2.2

DOC: Incorrect Prototype & Memory Allocation for PX_Blob

This article was previously published under Q135630
Expand all | Collapse all

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.

APPLIES TO
  • Microsoft Foundation Class Library 4.2, when used with:
    • Microsoft OLE Control Developer's Kit (CDK)
Keywords: 
kbctrl kbdocfix KB135630
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations