PX_Blob

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

返回值:
如果成功地交换了数据则为非零值,否则为0。

参数:
pPX指向CPropExchange对象的指针(通常用作传递给DoPropExchange的参数)。
pszPropName要交换的属性的名字。
hBlob对存储属性的变量(通常是你的类的成员变量)的引用。
hBlobDefault属性的缺省值。

说明:
在你的控件的DoPropExchange成员函数内调用这个函数,用以串行化或初始化一个存储二进制大对象(BLOB)数据的属性。属性的值将从hBlob引用的变量中读写。这个变量在最初调用PX_Blob之前必须被初始化为NULL(通常这可以在控件的构造函数中完成)。如果指定了hBlobDefault,它将被用作该属性的缺省值。如果由于某种原因,控件的初始化或串行化过程失败了,就会使用这个缺省值。
句柄hBlob和hBlobDefault指向一个内存块,其中包含如下内容:
·包含了后面的二进制数据的长度(以字节为单位)的DWORD值,后面是:
·包含了实际的二进制数据的内存块。
注意当载入BLOB类型的属性时,PX_Blob会使用Windows的API函数GlobalAlloc来分配内存。你应该负责释放内存。因此,你的控件的析构函数必须对BLOB类型的属性句柄调用GlobalFree以释放为控件分配的内存。

请参阅:COleControl::DoPropExchange