Função OleFlushClipboard (ole2.h)
Executa a sequência de desligamento da área de transferência. Ele também libera o ponteiro IDataObject que foi colocado na área de transferência pela função OleSetClipboard .
Sintaxe
HRESULT OleFlushClipboard();
Retornar valor
Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
Falha na função OpenClipboard do Windows usada no OleFlushClipboard . |
|
Falha na função CloseClipboard do Windows usada no OleFlushClipboard . |
Comentários
OleFlushClipboard renderiza os dados de um objeto de dados na área de transferência e libera o ponteiro IDataObject para o objeto de dados. Enquanto o aplicativo que coloca o objeto de dados na área de transferência está em execução, a área de transferência contém apenas um ponteiro para o objeto de dados, salvando assim a memória. Se você estiver escrevendo um aplicativo que atua como a origem de uma operação de área de transferência, poderá chamar a função OleFlushClipboard quando seu aplicativo for fechado, como quando o usuário sair do aplicativo. Chamar OleFlushClipboard permite colar e colar a vinculação de objetos OLE após o desligamento do aplicativo.
Antes de chamar OleFlushClipboard, você pode determinar facilmente se os dados ainda estão na área de transferência com uma chamada para a função OleIsCurrentClipboard .
O oleFlushClipboard deixa todos os formatos oferecidos pelo objeto de transferência de dados, incluindo os formatos de compatibilidade OLE 1, na área de transferência para que fiquem disponíveis após o desligamento do aplicativo. Além dos formatos de compatibilidade do OLE 1, eles incluem todos os formatos oferecidos em um meio de identificador global (todos com exceção de TYMED_FILE) e formatados com um dispositivo de destino NULL . Por exemplo, se um aplicativo de fonte de dados oferecer um formato de área de transferência específico (digamos cfFOO) em um objeto IStorage e chamar a função OleFlushClipboard , o objeto de armazenamento será copiado na memória e o identificador de memória hglobal será colocado na área de transferência.
Para recuperar as informações na área de transferência, você pode chamar a função OleGetClipboard de outro aplicativo, que cria um objeto de dados padrão, e o hglobal da área de transferência novamente se torna um objeto de armazenamento. Além disso, o enumerador FORMATETC e o método IDataObject::QueryGetData indicam corretamente que o cfFOO (formato de área de transferência original) está novamente disponível em um TYMED_ISTORAGE.
Para esvaziar a área de transferência, chame a função OleSetClipboard especificando um valor NULL para seu parâmetro. O aplicativo deve chamar isso quando fechar se não houver necessidade de deixar dados na área de transferência após o desligamento ou se os dados serão colocados na área de transferência usando as funções padrão da área de transferência do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | ole2.h |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |
Conjunto de APIs | ext-ms-win-com-ole32-l1-1-5 (introduzido em Windows 10, versão 10.0.15063) |