Compartilhar via


PX_Blob

Chamar essa função dentro da função de membro de DoPropExchange do controle para serializar ou inicializar uma propriedade que armazena dados (BLOB) de objeto binário grande.

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

Parâmetros

  • pPX
    Ponteiro para o objeto de CPropExchange (normalmente passado como um parâmetro para DoPropExchange).

  • pszPropName
    O nome da propriedade que está sendo trocada.

  • hBlob
    Referência à variável em que a propriedade é armazenada (normalmente uma variável de membro da sua classe.)

  • hBlobDefault
    Valor padrão para a propriedade.

Valor de retorno

Diferente de zero se a troca foi bem-sucedida; 0 se bem-sucedida.

Comentários

O valor da propriedade será lida ou gravada da variável referenciada por hBlob, conforme apropriado. Essa variável deve ser inicializado na nulo inicialmente antes de chamar PX_Blob pela primeira vez (normalmente, isso pode ser feito no construtor de controle). Se hBlobDefault for especificado, será usado como o valor padrão da propriedade. Esse valor será usado se, por qualquer motivo, a inicialização de controle ou o processo de serialização falham.

Os identificadores hBlob e hBlobDefault se referem a um bloco de memória que contém o seguinte:

  • DWORD que contém o comprimento, em bytes, dos dados binários a seguir, seguido imediatamente por

  • Um bloco de memória que contém os dados binários reais.

Observe que PX_Blob atribuirá a memória, usando o windows GlobalAlloc API, ao carregar propriedades de tipo BLOB. Você é responsável para liberar a memória. Em virtude disso, o destruidor de seu controle deve chamar GlobalFree em todos os identificadores de propriedade do tipo BLOB para liberar qualquer memória alocada ao controle.

Requisitos

Header: afxctl.h

Consulte também

Referência

COleControl::DoPropExchange

Conceitos

Macros e globais MFC