Condividi tramite


Funzione InternetCrackUrlA (wininet.h)

Suddivide un URL nelle parti del componente.

Sintassi

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

Parametri

[in] lpszUrl

Puntatore a una stringa che contiene l'URL canonico da violare.

[in] dwUrlLength

Dimensioni della stringa lpszUrl, in TCHARso zero se lpszUrl è una stringa ASCIIZ.

[in] dwFlags

Controlla l'operazione. Questo parametro può essere uno dei valori seguenti.

Valore Significato
ICU_DECODE
Converte nuovamente i caratteri codificati nella forma normale. Questa operazione può essere usata solo se l'utente fornisce buffer nella struttura URL_COMPONENTS in cui copiare i componenti.
ICU_ESCAPE
Converte tutte le sequenze di escape (%xx) nei caratteri corrispondenti. Questa operazione può essere usata solo se l'utente fornisce buffer nella struttura URL_COMPONENTS in cui copiare i componenti.

[in, out] lpUrlComponents

Puntatore a una struttura URL_COMPONENTS che riceve i componenti URL.

Valore restituito

Restituisce TRUE se la funzione ha esito positivo o false in caso contrario. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

I componenti necessari sono indicati dai membri della struttura URL_COMPONENTS. Ogni componente ha un puntatore al valore e ha un membro che archivia la lunghezza del valore archiviato. Se sia il valore che la lunghezza di un componente sono uguali a zero, tale componente non viene restituito. Windows Vista e versioni successive. Se il puntatore al valore del componente è NULL e il valore del membro di lunghezza corrispondente è diverso da zero, l'indirizzo del primo carattere del componente corrispondente nella stringa lpszUrl stringa viene archiviata nel puntatore e la lunghezza del componente viene archiviata nel membro di lunghezza.

Se il puntatore contiene l'indirizzo del buffer fornito dall'utente, il membro length deve contenere le dimensioni del buffer. InternetCrackUrl copia il componente nel buffer e il membro length viene impostato sulla lunghezza del componente copiato, meno 1 per il carattere di terminazione della stringa finale.

Affinché InternetCrackUrl funzioni correttamente, le dimensioni della struttura URL_COMPONENTS, in byte, devono essere archiviate nel membro dwStructSize .

Nota Non usare InternetCrackUrl negli URL "file://" che contengono spazi, perché il valore restituito nel dwUrlPathLeng th membro della struttura URL_COMPONENTS a cui punta lpUrlComponents è troppo grande. Questo è solo il caso, tuttavia, con URL "file://" che contengono caratteri di spazio.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro dall'interno di DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare Servizi HTTP Di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce InternetCrackUrl 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 [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wininet.h
libreria Wininet.lib
dll Wininet.dll

Vedere anche

FtpOpenFile

la gestione di localizzatori di risorse uniformi

InternetCloseHandle

InternetFindNextFile

internetSetStatusCallback

funzioni WinINet