Função AssocQueryStringA (shlwapi.h)

Pesquisa e recupera uma cadeia de caracteres relacionada à associação de arquivo ou protocolo do registro.

Sintaxe

LWSTDAPI AssocQueryStringA(
  [in]            ASSOCF   flags,
  [in]            ASSOCSTR str,
  [in]            LPCSTR   pszAssoc,
  [in, optional]  LPCSTR   pszExtra,
  [out, optional] LPSTR    pszOut,
  [in, out]       DWORD    *pcchOut
);

Parâmetros

[in] flags

Tipo: ASSOCF

Os sinalizadores que podem ser usados para controlar a pesquisa. Pode ser qualquer combinação de valores ASSOCF , exceto que apenas um valor ASSOCF_INIT pode ser incluído.

[in] str

Tipo: ASSOCSTR

O valor ASSOCSTR que especifica o tipo de cadeia de caracteres que deve ser retornado.

[in] pszAssoc

Tipo: LPCTSTR

Um ponteiro para uma cadeia de caracteres terminada em nulo que é usada para determinar a chave raiz. Os quatro tipos de cadeias de caracteres a seguir podem ser usados.

  1. Extensão de nome de arquivo: uma extensão de nome de arquivo, como .txt.
  2. CLSID: um GUID CLSID no formato padrão "{GUID}".
  3. ProgID: ProgID de um aplicativo, como Word. Document.8.
  4. Nome do executável: o nome do arquivo .exe de um aplicativo. O sinalizador ASSOCF_OPEN_BYEXENAME deve ser definido em sinalizadores.

[in, optional] pszExtra

Tipo: LPCTSTR

Uma cadeia de caracteres terminada em nulo opcional com informações adicionais sobre o local da cadeia de caracteres. Normalmente, ele é definido como um verbo shell, como aberto. Defina esse parâmetro como NULL se ele não for usado.

[out, optional] pszOut

Tipo: LPTSTR

Ponteiro para uma cadeia de caracteres terminada em nulo que, quando essa função retorna com êxito, recebe a cadeia de caracteres solicitada. Defina esse parâmetro como NULL para recuperar o tamanho do buffer necessário.

[in, out] pcchOut

Tipo: DWORD*

Um ponteiro para um valor que, ao chamar a função, é definido como o número de caracteres no buffer pszOut . Quando a função retorna com êxito, o valor é definido como o número de caracteres realmente colocados no buffer.

Se o sinalizador ASSOCF_NOTRUNCATE for definido em sinalizadores e o buffer especificado no pszOut for muito pequeno, a função retornará E_POINTER e o valor será definido como o tamanho necessário do buffer.

Se pszOut for NULL, a função retornará S_FALSE e pcchOut apontará para o tamanho necessário, em caracteres, do buffer.

Retornar valor

Tipo: HRESULT

Retorna um valor de erro COM padrão, incluindo o seguinte:

Erro do Significado
S_OK Êxito.
E_POINTER O buffer pszOut é muito pequeno para manter a cadeia de caracteres inteira.
S_FALSE pszOut é NULL. pcchOut contém o tamanho do buffer necessário.

Comentários

Essa função é um wrapper para a interface IQueryAssociations . A função AssocQueryString destina-se a simplificar o processo de uso da interface IQueryAssociations .

Depois que um item é selecionado, o host deve decidir qual manipulador de visualização (se houver) está disponível para esse item. Manipuladores de visualização normalmente são registrados em extensões de nome de arquivo ou ProgID, mas alguns manipuladores de visualização são instanciados apenas para itens em pastas de shell específicas (o manipulador de visualização MAPI está associado a todos os itens que vieram da pasta shell MAPI, por exemplo). Portanto, o host deve usar IQueryAssociations para determinar qual manipulador de visualização usar. Para obter mais discussões sobre como as funções de associação de arquivo e protocolo funcionam, consulte IQueryAssociations.

Observação

O cabeçalho shlwapi.h define AssocQueryString 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 2000 Professional, 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 shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 5.0 ou posterior)