Compartilhar via


IDataObject::GetData

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este método é chamado por um consumidor dados para obter dados de uma objeto de dados origem. O GetData método processa os dados descritos especificado FORMATETC estrutura e transfere-la por meio especificado STGMEDIUM estrutura. O chamador, em seguida, assume responsabilidade para liberar o STGMEDIUM estrutura.

Syntax

HRESULT GetData(
  FORMATETC* pFormatetc,
  STGMEDIUM* pmedium
);

Parameters

  • pFormatetc
    [no] Ponteiro para o FORMATETC estrutura que define o formato, médio e dispositivo destino para usar ao passar os dados. É possível especificar mais de uma mídia usando o Boolean Ou operador, permitindo que o método para escolher o melhor meio entre aqueles especificados.
  • pmedium
    [out] Ponteiro para o STGMEDIUM estrutura que indica o meio de armazenamento que contém os dados retornados por meio seu TYMED membro e a responsabilidade para liberar a mídia por meio de valor do seu pUnkForRelease membro.

    Se pUnkForRelease é NULL, o receptor de médio porte é responsável por liberando-lo; caso contrário, pUnkForRelease aponta para o IUnknown interface sobre o apropriado objeto para sua Lançamento método pode ser chamado.

    A mídia deve ser alocada e preenchida por IDataObject::GetData.

Return Value

Este método oferece suporte a padrão retornam valores E_INVALIDARG, E_UNEXPECTED e E_OUTOFMEMORY.

A seguinte tabela mostra os adicionais retornam valores para este método.

Valor Descrição

S_OK

Dados com êxito foi recuperados e colocados na meio de armazenamento fornecido.

DV_E_LINDEX

Valor inválido para lIndex; Atualmente, somente-1 é com suporte.

DV_E_FORMATETC

Valor inválido para pFormatetc.

DV_E_TYMED

Inválido TYMED valor.

DV_E_DVASPECT

Inválido dwAspect valor.

OLE_E_NOTRUNNING

O aplicativo objeto não execução.

STG_E_MEDIUMFULL

Erro ao alocar a mídia.

Remarks

Chama um consumidor dados IDataObject::GetData Para recuperar dados de uma objeto de dados, transmitidas através um meio de armazenamento (definido por meio de STGMEDIUM estrutura).

Notas para chamadores

Você pode especificar mais de um aceitável TYMED mídia com o Boolean Ou operador. IDataObject::GetData deve escolher a mídia que melhor representa os dados a partir de Ou Valores, faça a alocação e indicar responsabilidade para liberar a mídia.

Dados transferidos entre um transmitir se estende da posição zero do ponteiro transmitir através para a posição imediatamente antes de atual ponteiro transmitir (that is, a transmitir ponteiro posição no sair).

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Notas para Implementers

IDataObject::GetData deve verificar todos os campos na FORMATETC estrutura. É importante que IDataObject::GetData processar o aspecto solicitado e, se possível, usar a mídia solicitada.

Se o objeto de dados não é possível obedecer as informações especificadas na FORMATETC, o método deve retornar DV_E_FORMATETC.

Se uma tentativa de alocar a mídia falhar, o método deve retornar STG_E_MEDIUMFULL.

É importante para preencher em todos os campos a STGMEDIUM estrutura.

Embora o chamador pode especificar mais de um meio para retornar os dados, IDataObject::GetData pode fornecer apenas uma média.

Se a transferir inicial falhar com a mídia selecionada, este método pode ser implementado para tentar uma das outras mídias especificadas antes de retornar um erro.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IDataObject::GetDataHere
IDataObject::SetData
FORMATETC
STGMEDIUM