Partager via


PX_Blob

Appelez cette fonction dans la fonction membre d' DoPropExchange de votre contrôle pour sérialiser ou initialiser une propriété qui stocke les données de blob (BLOB).

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

Paramètres

  • pPX
    Pointeur vers l'objet de CPropExchange (en général passé comme paramètre à DoPropExchange).

  • pszPropName
    Le nom d'être permuté.

  • hBlob
    Référence à la variable où la propriété est stockée (en général une variable membre de votre classe).

  • hBlobDefault
    Valeur par défaut de la propriété.

Valeur de retour

Une valeur différente de zéro si l'échange a réussi ; 0 si infructueux.

Notes

La valeur de propriété sera lue dans ou écrites dans la variable référencée par hBlob, selon le cas.Cette variable doit être initialisée à NULL avant d'appeler initialement PX_Blob pour la première fois (en général, cela se fait dans le constructeur du contrôle).Si hBlobDefault est spécifié, il sera utilisé comme valeur par défaut de la propriété.Cette valeur est utilisée si, pour une raison quelconque, l'initialisation du contrôle ou le processus de sérialisation échoue.

Les handles hBlob et hBlobDefault font référence à un bloc de mémoire qui contient les éléments suivants :

  • DWORD qui contient la longueur, en octets, des données binaires qui suivent, suivi par

  • Un bloc de mémoire contenant les données binaires réelles.

Notez qu' PX_Blob allouera la mémoire, l'utilisation de l'API de GlobalAlloc de windows, lorsque le chargement des propriétés de BLOB-type.Vous êtes chargé de libérer cette mémoire.Par conséquent, le destructeur de votre contrôle doit appeler GlobalFree sur tous les handles de propriété de BLOB-type pour libérer de la mémoire allouée à votre contrôle.

Configuration requise

Header: afxctl.h

Voir aussi

Référence

COleControl::DoPropExchange

Concepts

Macro MFC et Globals