Fonction ParseURLW (shlwapi.h)
Effectue l’analyse rudimentaire d’une URL.
Syntaxe
LWSTDAPI ParseURLW(
[in] LPCWSTR pcszURL,
[in, out] PARSEDURLW *ppu
);
Paramètres
[in] pcszURL
Type : LPCTSTR
Pointeur vers une chaîne terminée par null contenant l’URL à analyser.
[in, out] ppu
Type : PARSEDURL*
Pointeur vers une structure PARSEDURL qui reçoit les résultats analysés. L’application appelante doit définir le membre cbSize de la structure sur la taille de la structure avant d’appeler ParseURL.
Valeur de retour
Type : HRESULT
Retourne S_OK en cas de réussite ou un code d’erreur COM dans le cas contraire. La fonction retourne URL_E_INVALID_SYNTAX (définie dans Intshcut.h) si la chaîne n’a pas pu être analysée en tant qu’URL.
Remarques
L’analyse effectuée par ParseURL est assez rudimentaire. Pour l’analyse d’URL plus sophistiquée, utilisez InternetCrackUrl.
Exemples
Cet exemple d’application console utilise parseURL pour analyser plusieurs URL simples.
#include <windows.h>
#include <shlwapi.h>
#include <stdio.h>
#include <tchar.h>
void sample(LPCTSTR pcszUrl)
{
PARSEDURL pu;
pu.cbSize = sizeof(pu);
HRESULT hr = ParseURL(pcszUrl, &pu);
_tprintf(TEXT("ParseURL(%s) returned 0x%08x\n"), pcszUrl, hr);
if (SUCCEEDED(hr)) {
_tprintf(TEXT("Protocol = %.*s\n"), pu.cchProtocol, pu.pszProtocol);
_tprintf(TEXT("Suffix = %.*s\n"), pu.cchSuffix, pu.pszSuffix);
_tprintf(TEXT("Scheme = %d\n"), pu.nScheme);
_tprintf(TEXT("\n"));
}
}
int __cdecl main()
{
sample(TEXT("http://msdn.microsoft.com/vstudio/"));
sample(TEXT("mailto:someone@example.com"));
sample(TEXT("file://C:\\AUTOEXEC.BAT"));
sample(TEXT("C:\\AUTOEXEC.BAT"));
return 0;
}
Sortie:
ParseURL(http://msdn.microsoft.com/vstudio/) returned 0x00000000
Protocol = http
Suffix = //msdn.microsoft.com/vstudio/
Scheme = 2
ParseURL(mailto:someone@example.com) returned 0x00000000
Protocol = mailto
Suffix = someone@example.com
Scheme = 4
ParseURL(file://C:\AUTOEXEC.BAT) returned 0x00000000
Protocol = file
Suffix = C:\AUTOEXEC.BAT
Scheme = 9
ParseURL(C:\AUTOEXEC.BAT) returned 0x80041001
Note
L’en-tête shlwapi.h définit ParseURL comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | shlwapi.h |
DLL | Shlwapi.dll (version 6.0.1 ou ultérieure) |