Compartilhar via


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 de 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 a 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 executável: o nome do arquivo de .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 abrir. Defina esse parâmetro para 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 para 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 pszOut buffer. 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 em 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 aponta para o tamanho necessário, em caracteres, do buffer.

Valor de retorno

Tipo: HRESULT

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

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

Observações

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

Depois que um item é selecionado, o host deve decidir qual manipulador de visualização (se houver) está disponível para esse item. Os 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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shlwapi.h
biblioteca Shlwapi.lib
de DLL Shlwapi.dll (versão 5.0 ou posterior)