Función SHLoadIndirectString (shlwapi.h)
Extrae un recurso de texto especificado cuando se proporciona ese recurso en forma de cadena indirecta (una cadena que comienza con el símbolo '@').
Sintaxis
LWSTDAPI SHLoadIndirectString(
[in] PCWSTR pszSource,
[out] PWSTR pszOutBuf,
[in] UINT cchOutBuf,
void **ppvReserved
);
Parámetros
[in] pszSource
Tipo: PCWSTR
Puntero a un búfer que contiene la cadena indirecta de la que se recuperará el recurso. Esta cadena debe comenzar con el símbolo '@' y usar uno de los formularios descritos en la sección Comentarios. Esta función aceptará correctamente una cadena que no comienza con un símbolo '@', pero la cadena se pasará simplemente sin cambios a pszOutBuf.
[out] pszOutBuf
Tipo: PWSTR
Puntero a un búfer que, cuando esta función vuelve correctamente, recibe el recurso de texto. Tanto pszOutBuf como pszSource pueden apuntar al mismo búfer, en cuyo caso se sobrescribirá la cadena original.
[in] cchOutBuf
Tipo: UINT
Tamaño del búfer al que apunta pszOutBuf, en caracteres.
ppvReserved
Tipo: void**
No utilizado; se establece en NULL.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Se puede proporcionar una cadena indirecta en varias formas, cada una de las cuales tiene su propia interpretación:
-
Nombre de archivo e id. de recurso ''' sintaxis @filename, recurso '''
La cadena se extrae del archivo denominado, utilizando el valor de recurso como localizador. Si el valor del recurso es cero o mayor, el número se convierte en el índice de la cadena en el archivo binario. Si el número es negativo, se convierte en un identificador de recurso. La cadena recuperada se copia en el búfer de salida y la función devuelve S_OK.
-
Nombre de archivo e identificador de recurso con un modificador de versión ''' sintaxis @filename,recurso; v2 '''
Este formulario se puede usar cuando se cambia un recurso, pero sigue usando el mismo índice o identificador que el recurso anterior. Sin un modificador de versión, la caché de la Interfaz de usuario multilingüe (MUI) no reconocerá que el recurso ha cambiado y no se actualizará. Al anexar el modificador de versión, el valor se ve como un nuevo recurso y se agrega a la memoria caché. Tenga en cuenta que se recomienda usar un nuevo identificador o índice para un nuevo recurso y usar un modificador de versión solo cuando no sea posible.
-
Ruta de acceso del archivo PRI e id. de recurso ''' sintaxis @{PRIFilepath?resource} '''
El índice de recursos de paquete (PRI) es un formato binario introducido en Windows 8 que contiene recursos indexados o referencias a recursos. El archivo .pri se agrupa como parte del paquete de una aplicación. Para obtener más información sobre los archivos .pri, consulta Crear y recuperar recursos en aplicaciones de la Tienda Windows.
La cadena se extrae del archivo .pri denominado , utilizando el recurso como localizador. La cadena recuperada se copia en el búfer de salida y la función devuelve S_OK. La cadena se extrae en función del entorno actual de Shell o ResourceContext.
Aquí se muestra un ejemplo de este tipo de cadena indirecta.
@{C:\Program Files\WindowsApps\Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe\resources.pri? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
-
Nombre del paquete e id. de recurso ''' sintaxis @{PackageFullName?resource} '''
La cadena se extrae del archivo Resources.pri almacenado en el directorio raíz de la aplicación del paquete identificado por PackageFullName, usando el recurso como localizador. La cadena recuperada se copia en el búfer de salida y la función devuelve S_OK. La cadena se extrae en función del entorno de la aplicación o ResourceContext.
Nota Esta cadena debe hacer referencia a un paquete instalado para el usuario actual. Si no es así, se producirá un error en la llamada.@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/manifestAppDescription}
En este ejemplo siguiente, el nombre de referencia completo especifica un espacio de nombres para limitar la búsqueda.
@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Library | Shlwapi.lib |
Archivo DLL | Shlwapi.dll (versión 5.5 o posterior) |