Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Cria um objeto de dados em uma pasta pai.
Sintaxe
SHSTDAPI SHCreateDataObject(
[in, optional] PCIDLIST_ABSOLUTE pidlFolder,
[in] UINT cidl,
[in, optional] PCUITEMID_CHILD_ARRAY apidl,
[in, optional] IDataObject *pdtInner,
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in, optional] pidlFolder
Tipo: PCIDLIST_ABSOLUTE
Um ponteiro para um ITEMIDLIST (PIDL) da pasta pai que contém o objeto de dados.
[in] cidl
Tipo: UINT
O número de objetos de arquivo ou subpastas especificados no parâmetro apidl .
[in, optional] apidl
Tipo: PCUITEMID_CHILD_ARRAY
Uma matriz de ponteiros para estruturas ITEMIDLIST constantes, cada uma das quais identifica exclusivamente um objeto de arquivo ou subpasta em relação à pasta pai. Cada lista de identificadores de item deve conter exatamente uma estrutura SHITEMID seguida por um zero de terminação.
[in, optional] pdtInner
Tipo: IDataObject*
Um ponteiro para a interface IDataObject. Esse parâmetro pode ser NULL. Especifique pdtInner somente se o objeto de dados criado precisar dar suporte a formatos de área de transferência FORMATETC adicionais além dos formatos padrão atribuídos na criação. Como alternativa, forneça suporte para preencher o objeto de dados criado usando formatos de área de transferência não padrão chamando o método IDataObject::SetData e especificando o formato na estrutura FORMATETC passada no parâmetro pFormatetc.
[in] riid
Tipo: REFIID
Uma referência à IID da interface a ser recuperada por meio do ppv. Isso deve ser IID_IDataObject.
[out] ppv
Tipo: void**
Quando esse método retorna com êxito, contém o ponteiro de interface IDataObject solicitado no riid.
Valor de retorno
Tipo: HRESULT
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .
Observações
Essa função normalmente é chamada ao implementar o método IShellFolder::GetUIObjectOf. Quando um ponteiro de interface da ID da interface IID_IDataObject é solicitado (usando riid de parâmetro), o implementador pode retornar o ponteiro de interface no objeto criado com SHCreateDataObject em resposta.
Essa função dá suporte ao formato de área de transferência CFSTR_SHELLIDLIST (também conhecido como HIDA) e também tem suporte genérico para formatos arbitrários de área de transferência por meio de IDataObject::SetData. Para obter mais informações sobre formatos de área de transferência, consulte Formatos de área de transferência do Shell.
O novo objeto de dados destina-se a ser usado em operações como arrastar e soltar, em que os dados são armazenados na área de transferência com um determinado formato.
Recomendamos que você use a macro IID_PPV_ARGS , definida em Objbase.h, para empacotar os parâmetros riid e ppv . Essa macro fornece a IID correta com base na interface apontada pelo valor em ppv, o que elimina a possibilidade de um erro de codificação no riid que pode levar a resultados inesperados.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2008 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| Header | shlobj_core.h (inclua Shlobj.h) |
| Library | OneCore.Lib |
| de DLL |
Shell32.dll |
| Conjunto de API | ext-ms-win-shell-shell32-l1-2-2 (introduzido no Windows 10, versão 10.0.14393) |