Fonction InternetCrackUrlA (wininet.h)

Décompose une URL dans ses composants.

Syntaxe

BOOL InternetCrackUrlA(
  [in]      LPCSTR            lpszUrl,
  [in]      DWORD             dwUrlLength,
  [in]      DWORD             dwFlags,
  [in, out] LPURL_COMPONENTSA lpUrlComponents
);

Paramètres

[in] lpszUrl

Pointeur vers une chaîne qui contient l’URL canonique à cracker.

[in] dwUrlLength

Taille de la chaîne lpszUrl , en TCHAR, ou zéro si lpszUrl est une chaîne ASCIIZ.

[in] dwFlags

Contrôle l’opération. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
ICU_DECODE
Convertit les caractères codés dans leur forme normale. Cela peut être utilisé uniquement si l’utilisateur fournit des mémoires tampons dans la structure URL_COMPONENTS dans laquelle copier les composants.
ICU_ESCAPE
Convertit toutes les séquences d’échappement (%xx) en caractères correspondants. Cela peut être utilisé uniquement si l’utilisateur fournit des mémoires tampons dans la structure URL_COMPONENTS dans laquelle copier les composants.

[in, out] lpUrlComponents

Pointeur vers une structure URL_COMPONENTS qui reçoit les composants d’URL.

Valeur retournée

Retourne TRUE si la fonction réussit, ou FALSE dans le cas contraire. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Les composants requis sont indiqués par les membres de la structure URL_COMPONENTS . Chaque composant a un pointeur vers la valeur et a un membre qui stocke la longueur de la valeur stockée. Si la valeur et la longueur d’un composant sont égales à zéro, ce composant n’est pas retourné. Windows Vista et versions ultérieures : Si le pointeur vers la valeur du composant est NULL et que la valeur de son membre de longueur correspondant est différente de zéro, l’adresse du premier caractère du composant correspondant dans la chaîne lpszUrl est stockée dans le pointeur et la longueur du composant est stockée dans le membre de longueur.

Si le pointeur contient l’adresse de la mémoire tampon fournie par l’utilisateur, le membre de longueur doit contenir la taille de la mémoire tampon. InternetCrackUrl copie le composant dans la mémoire tampon, et le membre de longueur est défini sur la longueur du composant copié, moins 1 pour la marque de fin de chaîne de fin.

Pour qu’InternetCrackUrl fonctionne correctement, la taille de la structure URL_COMPONENTS , en octets, doit être stockée dans le membre dwStructSize .

Note N’utilisez pas InternetCrackUrl sur les URL « file:// » qui contiennent des espaces, car la valeur retournée dans le membre dwUrlPathLength de la structure URL_COMPONENTS pointée par lpUrlComponents est trop grande. Toutefois, ce n’est que le cas avec les URL « file:// » qui contiennent des caractères d’espace.

Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Notes

L’en-tête wininet.h définit InternetCrackUrl 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. La combinaison 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 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

FtpOpenFile

Gestion des localisateurs de ressources uniformes

InternetCloseHandle

InternetFindNextFile

InternetSetStatusCallback

Fonctions WinINet