Condividi tramite


Funzione UrlUnescapeW (shlwapi.h)

Converte di nuovo le sequenze di escape in caratteri ordinari.

Sintassi

LWSTDAPI UrlUnescapeW(
  [in, out]           PWSTR pszUrl,
  [out, optional]     PWSTR 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 che contiene 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. Nella voce il valore pcchUnescaped punta a è impostato sulla dimensione del buffer. Se la funzione restituisce un codice di operazione riuscita e il flag di URL_UNESCAPE_INPLACE non è impostato, il valore a cui punta pcchUnescaped viene impostato sul numero di caratteri scritti nel buffer, senza contare il carattere NULL di terminazione. Se viene restituito un codice di errore E_POINTER, il buffer era troppo piccolo e il valore in cui pcchUnescaped punta è impostato sul numero di caratteri richiesto che il buffer deve essere in grado di contenere. Se vengono restituiti altri errori, il valore a cui i punti pcchUnescaped non sono definiti.

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 di URL_UNESCAPE_INPLACE non è impostato e il buffer di output è troppo piccolo. Il parametro pcchUnescaped verrà impostato sulle dimensioni del buffer necessarie. In caso contrario, restituisce un valore di errore standard.

Commenti

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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 5.0 o successiva)