Função SHGetDataFromIDListA (shlobj_core.h)

Recupera dados de propriedade estendida de uma lista de identificadores relativos.

Sintaxe

SHSTDAPI SHGetDataFromIDListA(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Parâmetros

[in] psf

Tipo: IShellFolder*

O endereço da interface IShellFolder pai. Esse deve ser o pai imediato da estrutura ITEMIDLIST referenciada pelo parâmetro pidl .

[in] pidl

Tipo: PCUITEMID_CHILD

Um ponteiro para uma estrutura ITEMIDLIST que identifica o objeto em relação à pasta especificada em psf.

nFormat

Tipo: int

O formato no qual os dados estão sendo solicitados. Esse parâmetro deve ser definido como um dos valores a seguir.

SHGDFIL_FINDDATA

Formato usado para objetos do sistema de arquivos. O parâmetro pv é o endereço de uma estrutura WIN32_FIND_DATA .

SHGDFIL_NETRESOURCE

Formato usado para recursos de rede. O parâmetro pv é o endereço de uma estrutura NETRESOURCE .

SHGDFIL_DESCRIPTIONID

Versão 4.71. Formato usado para recursos de rede. O parâmetro pv é o endereço de uma estrutura SHDESCRIPTIONID .

[out] pv

Tipo: void*

Um ponteiro para um buffer que, quando essa função retorna com êxito, recebe os dados solicitados. O formato desse buffer é determinado por nFormat.

Se nFormat for SHGDFIL_NETRESOURCE, haverá dois casos possíveis. Se o buffer for grande o suficiente, as informações de cadeia de caracteres do recurso de rede (campos para o nome da rede, nome local, provedor e comentários) serão colocadas no buffer. Se o buffer não for grande o suficiente, somente a estrutura de recursos de rede será colocada no buffer e os ponteiros de informações da cadeia de caracteres serão NULL.

cb

Tipo: int

Tamanho do buffer em pv, em bytes.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito ou E_INVALIDARG caso contrário.

Comentários

Essa função extrai apenas as informações presentes no ponteiro para uma PIDL (lista de identificadores de item). Como o conteúdo de um PIDL depende do objeto de pasta que criou o PIDL, não há nenhuma garantia de que todas as informações solicitadas estarão disponíveis. Além disso, as informações retornadas refletem o estado do objeto no momento em que o PIDL foi criado. O estado atual do objeto pode ser diferente. Por exemplo, se você definir nFormat como SHGDFIL_FINDDATA, a função poderá atribuir valores significativos a apenas alguns dos membros da estrutura WIN32_FIND_DATA . Os membros restantes serão definidos como zero. Para recuperar informações atuais completas em um arquivo ou pasta do sistema de arquivos, use funções padrão do sistema de arquivos, como GetFileTime ou FindFirstFile.

E_INVALIDARG será retornado se o parâmetro psf, pidl, pv ou cb não corresponder ao parâmetro nFormat ou se nFormat não for um dos valores de SHGDFIL_ específicos mostrados acima.

Observação

O cabeçalho shlobj_core.h define SHGetDataFromIDList como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [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 shlobj_core.h (inclua Shlobj.h, Shlobj_core.h)
Biblioteca Shell32.lib
DLL Shell32.dll (versão 4.0 ou posterior)
Conjunto de APIs ext-ms-win-shell-shell32-l1-2-1 (introduzido no Windows 10, versão 10.0.10240)