Fonction ParseURLA (shlwapi.h)
Effectue une analyse rudimentaire d’une URL.
Syntaxe
LWSTDAPI ParseURLA(
[in] LPCSTR pcszURL,
[in, out] PARSEDURLA *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 retournée
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 une 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;
}
OUTPUT:
---------
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
Notes
L’en-tête shlwapi.h définit ParseURL comme un 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shlwapi.h |
DLL | Shlwapi.dll (version 6.0.1 ou ultérieure) |