PX_Blob
Chiamare questa funzione nella funzione membro di DoPropExchange del controllo per serializzare o inizializzare una proprietà che archivia i dati di (BLOB) dell'oggetto binario di grandi dimensioni.
BOOL PX_Blob(
CPropExchange* pPX,
LPCTSTR pszPropName,
HGLOBAL& hBlob,
HGLOBAL hBlobDefault = NULL
);
Parametri
pPX
Puntatore all'oggetto di CPropExchange (in genere passata come parametro a DoPropExchange).pszPropName
Il nome della proprietà che viene scambiata.hBlob
Riferimento alla variabile in cui la proprietà viene archiviata in genere una variabile membro della classe).hBlobDefault
Valore predefinito per la proprietà.
Valore restituito
Diverso da zero se lo scambio di riuscita; 0 se non riuscita.
Note
Il valore della proprietà verrà letta da o verrà scritto nella variabile (riferimento da hBlob, in base alle esigenze. Tale variabile deve essere inizializzata su NULL prima di chiamare inizialmente PX_Blob per la prima volta, in genere questa può essere eseguita nel costruttore del controllo. Se hBlobDefault viene specificato, verrà utilizzato come valore predefinito della proprietà. Questo valore viene utilizzato se, per qualunque ragione, l'inizializzazione del controllo o l'esito negativo di processo di serializzazione.
L'handle hBlob e hBlobDefault fanno riferimento a un blocco di memoria che contiene gli elementi seguenti:
DWORD contenente la lunghezza, in byte, dei dati binari che seguono, seguita immediatamente da
Un blocco di memoria che contiene i dati binari.
Si noti che PX_Blob allocherà la memoria, utilizzando le finestre GlobalAlloc API quando carica le proprietà del BLOB- tipo. Si è responsabili di liberare la memoria. Di conseguenza, il distruttore del controllo deve chiamare GlobalFree su tutti gli handle della proprietà di BLOB- tipo per liberare qualsiasi memoria allocata al controllo.
Requisiti
Intestazione: afxctl.h