Condividi tramite


Funzione UrlUnescapeA (shlwapi.h)

Converte le sequenze di escape in caratteri ordinari.

Sintassi

LWSTDAPI UrlUnescapeA(
  [in, out]           PSTR  pszUrl,
  [out, optional]     PSTR  pszUnescaped,
  [in, out, optional] DWORD *pcchUnescaped,
                      DWORD dwFlags
);

Parametri

[in, out] pszUrl

Tipo: PTSTR

Puntatore a una stringa con terminazione Null con l'URL. Se dwFlags è impostato su URL_UNESCAPE_INPLACE, la stringa convertita viene restituita tramite questo parametro.

[out, optional] pszUnescaped

Tipo: PTSTR

Puntatore a un buffer che riceverà una stringa con terminazione Null contenente la versione senza caratteri di escape di pszURL. Se URL_UNESCAPE_INPLACE è impostato in dwFlags, questo parametro viene ignorato.

[in, out, optional] pcchUnescaped

Tipo: DWORD*

Numero di caratteri nel buffer a cui punta pszUnescaped. In ingresso, il valore pcchUnescaped punta a è impostato sulle dimensioni del buffer. Se la funzione restituisce un codice di esito positivo e il flag URL_UNESCAPE_INPLACE non è impostato, il valore a cui pcchUnescaped punta viene impostato sul numero di caratteri scritti nel buffer, senza contare il carattere di terminazione NULL. Se viene restituito un codice di errore E_POINTER, il buffer era troppo piccolo e il valore a cui punti pcchUnescaped viene impostato sul numero di caratteri richiesto che il buffer deve essere in grado di contenere. Se vengono restituiti altri errori, il valore a cui pcchUnescaped punti non è definito.

dwFlags

Tipo: DWORD

Flag che controllano i caratteri senza caratteri di escape. Può essere una combinazione dei flag seguenti.

URL_DONT_UNESCAPE_EXTRA_INFO

Non convertire il file # o ? carattere o qualsiasi carattere che li segue nella stringa.

URL_UNESCAPE_AS_UTF8

introdotta in Windows 8. Decodificare gli URL codificati usando il flag URL_ESCAPE_AS_UTF8.

URL_UNESCAPE_INPLACE

Usare pszURL per restituire la stringa convertita anziché pszUnescaped.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo. Se il flag URL_UNESCAPE_INPLACE non è impostato, il valore a cui punta pcchUnescaped verrà impostato sul numero di caratteri nel buffer di output a cui punta pszUnescaped. Restituisce E_POINTER se il flag URL_UNESCAPE_INPLACE non è impostato e il buffer di output è troppo piccolo. Il parametro pcchUnescaped verrà impostato sulla dimensione del buffer richiesta. In caso contrario, restituisce un valore di errore standard.

Osservazioni

Una sequenza di escape ha il formato "%xy".

Le stringhe di input non possono essere più lunghe di INTERNET_MAX_URL_LENGTH.

Nota

L'intestazione shlwapi.h definisce UrlUnescape come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione shlwapi.h
libreria Shlwapi.lib
dll Shlwapi.dll (versione 5.0 o successiva)