Compartir a través de


Función AssocQueryStringA (shlwapi.h)

Busca y recupera una cadena relacionada con la asociación de archivos o protocolos del registro.

Sintaxis

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

Marcas que se pueden usar para controlar la búsqueda. Puede ser cualquier combinación de valores de ASSOCF, excepto que solo se puede incluir un valor ASSOCF_INIT.

[in] str

Tipo: ASSOCSTR

Valor de ASSOCSTR que especifica el tipo de cadena que se va a devolver.

[in] pszAssoc

Tipo: LPCTSTR de

Puntero a una cadena terminada en null que se usa para determinar la clave raíz. Se pueden usar los cuatro tipos siguientes de cadenas.

  1. extensión de nombre de archivo: una extensión de nombre de archivo, como .txt.
  2. CLSID: UN GUID CLSID en el formato "{GUID}" estándar.
  3. ProgID: ProgID de una aplicación, como Word.Document.8.
  4. Nombre ejecutable: nombre del archivo .exe de una aplicación. La marca ASSOCF_OPEN_BYEXENAME debe establecerse en marcas.

[in, optional] pszExtra

Tipo: LPCTSTR de

Cadena opcional terminada en NULL con información adicional sobre la ubicación de la cadena. Normalmente se establece en un verbo shell, como abrir. Establezca este parámetro en NULL si no se usa.

[out, optional] pszOut

Tipo: LPTSTR de

Puntero a una cadena terminada en null que, cuando esta función vuelve correctamente, recibe la cadena solicitada. Establezca este parámetro en NULL para recuperar el tamaño de búfer necesario.

[in, out] pcchOut

Tipo: DWORD* de

Puntero a un valor que, al llamar a la función, se establece en el número de caracteres del búfer de pszOut. Cuando la función se devuelve correctamente, el valor se establece en el número de caracteres colocados realmente en el búfer.

Si la marca ASSOCF_NOTRUNCATE se establece en marcas y el búfer especificado en pszOut es demasiado pequeño, la función devuelve E_POINTER y el valor se establece en el tamaño necesario del búfer.

Si pszOut es NULL, la función devuelve S_FALSE y pcchOut apunta al tamaño necesario, en caracteres, del búfer.

Valor devuelto

Tipo: HRESULT

Devuelve un valor de error COM estándar, incluido lo siguiente:

Error Significado
S_OK Éxito.
E_POINTER El búfer pszOut es demasiado pequeño para contener toda la cadena.
S_FALSE pszOut es NULL . pcchOut contiene el tamaño de búfer necesario.

Observaciones

Esta función es un contenedor para la interfaz IQueryAssociations. La función AssocQueryString está pensada para simplificar el proceso de uso de interfaz IQueryAssociations.

Una vez seleccionado un elemento, el host debe decidir qué controlador de vista previa (si existe) está disponible para ese elemento. Normalmente, los controladores de vista previa se registran en extensiones de nombre de archivo o ProgID, pero algunos controladores de vista previa solo se crean instancias de los elementos dentro de carpetas de shell concretas (el controlador de vista previa MAPI está asociado a los elementos procedentes de la carpeta shell mapi, por ejemplo). Por lo tanto, el host debe usar IQueryAssociations para determinar qué controlador de vista previa se va a usar. Para obtener más información sobre cómo funcionan las funciones de asociación de archivos y protocolos, consulte IQueryAssociations.

Nota

El encabezado shlwapi.h define AssocQueryString como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shlwapi.h
biblioteca de Shlwapi.lib
DLL de Shlwapi.dll (versión 5.0 o posterior)