PX_Blob

调用控件的 DoPropExchange 成员函数内此功能序列化或初始化存储二进制大对象 (BLOB)数据的属性。

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

参数

  • pPX
    CPropExchange 对象的指针 (通常通过作为参数传递给 DoPropExchange)。

  • pszPropName
    交换的属性的名称。

  • hBlob
    对存储属性的变量 (通常是您的类的成员变量)。

  • hBlobDefault
    属性的默认值。

返回值

非零,则这种替换成功;0,如果不成功。

备注

属性值将读取或写入 hBlob引用的变量中,根据需要。应该初始化此变量添加到第一次最初调用 PX_Blob 之前的 NULL (通常,这在控件的构造函数可以执行)。如果 hBlobDefault 指定,则它将用作属性的默认值。此值,则,由于某种原因,控件的初始化或序列化进程失败,请使用。

处理 hBlob 和 hBlobDefault 引用包含以下内存块:

  • 在字节,二进制数据包含该长度,下面的 DWORD ,之后立即

  • 包含实际二进制数据的内存块。

请注意使用 windows GlobalAlloc API, PX_Blob 将分配内存,,那么,当加载 BLOB 类型的属性。您负责释放该内存。因此,您的控件析构函数应调用所有 BLOB 类型的属性处理的 GlobalFree 释放任何内存分配给您的控件。

要求

Header: afxctl.h

请参见

参考

COleControl::DoPropExchange

概念

MFC宏和Globals