Funzione SHLoadIndirectString (shlwapi.h)
Estrae una risorsa di testo specificata quando viene specificata la risorsa sotto forma di stringa indiretta (stringa che inizia con il simbolo '@').
Sintassi
LWSTDAPI SHLoadIndirectString(
[in] PCWSTR pszSource,
[out] PWSTR pszOutBuf,
[in] UINT cchOutBuf,
void **ppvReserved
);
Parametri
[in] pszSource
Tipo: PCWSTR
Puntatore a un buffer contenente la stringa indiretta da cui verrà recuperata la risorsa. Questa stringa deve iniziare con il simbolo '@' e utilizzare una delle maschere descritte nella sezione Osservazioni. Questa funzione accetterà correttamente una stringa che non inizia con un simbolo '@', ma la stringa verrà semplicemente passata invariata a pszOutBuf.
[out] pszOutBuf
Tipo: PWSTR
Puntatore a un buffer che, quando questa funzione viene restituita correttamente, riceve la risorsa di testo. Sia pszOutBuf che pszSource possono puntare allo stesso buffer, nel qual caso la stringa originale verrà sovrascritta.
[in] cchOutBuf
Tipo: UINT
Dimensioni del buffer a cui punta pszOutBuf, in caratteri.
ppvReserved
Tipo: void**
Non utilizzato; impostare su NULL.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Una stringa indiretta può essere fornita in diverse forme, ognuna delle quali ha una propria interpretazione:
-
Sintassi del nome file e dell'ID risorsa ''' @filename,risorsa '''
La stringa viene estratta dal file denominato, usando il valore della risorsa come localizzatore. Se il valore della risorsa è zero o maggiore, il numero diventa l'indice della stringa nel file binario. Se il numero è negativo, diventa un ID risorsa. La stringa recuperata viene copiata nel buffer di output e la funzione restituisce S_OK.
-
Nome file e ID risorsa con una sintassi del modificatore di versione ''' @filename,risorsa; v2 '''
Questo modulo può essere usato quando una risorsa viene modificata, ma usa comunque lo stesso indice o ID della risorsa precedente. Senza un modificatore di versione, la cache MUI (Multilingual User Interface) non riconoscerà che la risorsa è stata modificata e non verrà aggiornata. Aggiungendo il modificatore della versione, il valore viene visualizzato come una nuova risorsa e viene aggiunto alla cache. Si noti che è consigliabile usare un nuovo ID o un nuovo indice per una nuova risorsa e usare un modificatore di versione solo quando non è possibile.
-
Percorso file PRI e sintassi dell'ID risorsa ''' @{PRIFilepath?resource} '''
Package Resource Index (PRI) è un formato binario introdotto in Windows 8 che contiene risorse indicizzate o riferimenti alle risorse. Il file PRI viene incluso nel pacchetto di un'app. Per altre informazioni sui file pri, vedi Creazione e recupero di risorse nelle app di Windows Store.
La stringa viene estratta dal file pri denominato , usando la risorsa come localizzatore. La stringa recuperata viene copiata nel buffer di output e la funzione restituisce S_OK. La stringa viene estratta in base all'ambiente Shell corrente o a ResourceContext.
Di seguito è riportato un esempio di questo tipo di stringa indiretta.
@{C:\Program Files\WindowsApps\Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe\resources.pri? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
-
Sintassi nome pacchetto e ID risorsa ''' @{PackageFullName?resource} '''
La stringa viene estratta dal file Resources.pri archiviato nella directory radice dell'app del pacchetto identificato da PackageFullName, usando la risorsa come localizzatore. La stringa recuperata viene copiata nel buffer di output e la funzione restituisce S_OK. La stringa viene estratta in base all'ambiente dell'app o a ResourceContext.
Nota Questa stringa deve fare riferimento a un pacchetto installato per l'utente corrente. In caso contrario, la chiamata avrà esito negativo.@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/manifestAppDescription}
In questo esempio seguente, il nome di riferimento completo specifica uno spazio dei nomi a cui limitare la ricerca.
@{Microsoft.Camera_6.2.8376.0_x64__8wekyb3d8bbwe? ms-resource://Microsoft.Camera/resources/manifestAppDescription}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shlwapi.h |
Libreria | Shlwapi.lib |
DLL | Shlwapi.dll (versione 5.5 o successiva) |