PX_Blob
Llame a esta función dentro de la función miembro de DoPropExchange de control para serializar o inicializar una propiedad que almacene los datos de (BLOB) de objeto binario grande.
BOOL PX_Blob(
CPropExchange* pPX,
LPCTSTR pszPropName,
HGLOBAL& hBlob,
HGLOBAL hBlobDefault = NULL
);
Parámetros
pPX
Puntero al objeto de CPropExchange (último normalmente como parámetro a DoPropExchange).pszPropName
El nombre de la propiedad que se intercambiada.hBlob
Referencia a la variable donde se almacena la propiedad (normalmente una variable miembro de clase).hBlobDefault
Valor predeterminado de la propiedad.
Valor devuelto
Distinto de cero si el intercambio fue correcto; 0 si no.
Comentarios
El valor de propiedad será leído de o escrito en la variable a la que hace referencia hBlob, según corresponda. Esta variable se debe inicializar a nulo inicialmente antes de llamar a PX_Blob por primera vez (normalmente, esto se puede hacer en el constructor del control). Si se especifica hBlobDefault , se utilizará como valor predeterminado de la propiedad. Se utiliza este valor si, por cualquier razón, se produce un error en la inicialización del control o el proceso de serialización.
Los identificadores hBlob y hBlobDefault hacen referencia a un bloque de memoria que contiene lo siguiente:
DWORD que contiene la longitud, en bytes, de datos binarios que sigue, seguido por
Un bloque de memoria que contiene los datos binarios reales.
Observe que PX_Blob asignará memoria, mediante Windows GlobalAlloc API, al cargar propiedades de Blob- tipo. Es responsable de liberar esta memoria. Por consiguiente, el destructor del control debe llamar a GlobalFree en cualquier identificador de propiedad de Blob- tipo para liberar la memoria asignada al control.
Requisitos
Header: afxctl.h