Funzione InternetOpenA (wininet.h)
Inizializza l'uso di un'applicazione delle funzioni WinINet.
Sintassi
HINTERNET InternetOpenA(
[in] LPCSTR lpszAgent,
[in] DWORD dwAccessType,
[in] LPCSTR lpszProxy,
[in] LPCSTR lpszProxyBypass,
[in] DWORD dwFlags
);
Parametri
[in] lpszAgent
Puntatore a una stringa con terminazione Null che specifica il nome dell'applicazione o dell'entità che chiama le funzioni WinINet. Questo nome viene usato come agente utente nel protocollo HTTP.
[in] dwAccessType
Tipo di accesso richiesto. Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Risolve tutti i nomi host in locale. |
|
Recupera il proxy o la configurazione diretta dal Registro di sistema. |
|
Recupera il proxy o la configurazione diretta dal Registro di sistema e impedisce l'uso di un file inS (Microsoft JScript o Internet Setup) di avvio. |
|
Passa le richieste al proxy a meno che non venga specificato un elenco di bypass del proxy e il nome da risolvere ignora il proxy. In questo caso, la funzione usa INTERNET_OPEN_TYPE_DIRECT. |
[in] lpszProxy
Puntatore a una stringa con terminazione Null che specifica il nome dei server proxy da usare quando l'accesso proxy viene specificato impostando dwAccessType su INTERNET_OPEN_TYPE_PROXY. Non usare una stringa vuota, perché InternetOpen lo userà come nome proxy. Le funzioni WinINet riconoscono solo proxy di tipo CERN (solo HTTP) e il gateway FTP TIS (solo FTP). Se è installato Microsoft Internet Explorer, queste funzioni supportano anche proxy SOCKS. Le richieste FTP possono essere effettuate tramite un proxy di tipo CERN modificandole in una richiesta HTTP o tramite InternetOpenUrl. Se dwAccessType non è impostato su INTERNET_OPEN_TYPE_PROXY, questo parametro viene ignorato e deve essere NULL. Per altre informazioni sull'elenco dei server proxy, vedere la sezione Elenco dei server proxy di Abilitazione della funzionalità Internet.
[in] lpszProxyBypass
Puntatore a una stringa con terminazione Null che specifica un elenco facoltativo di nomi host o indirizzi IP o entrambi che non devono essere indirizzati tramite il proxy quando dwAccessType è impostato su INTERNET_OPEN_TYPE_PROXY. L'elenco può contenere caratteri jolly. Non usare una stringa vuota, perché InternetOpen lo userà come elenco di bypass del proxy. Se questo parametro specifica la macro "<local>", la funzione ignora il proxy per qualsiasi nome host che non contenga un punto.
Per impostazione predefinita, WinINet ignora il proxy per le richieste che usano i nomi host "localhost", "loopback", "127.0.0.1" o "[::1]". Questo comportamento esiste perché in genere un server proxy remoto non risolverà correttamente questi indirizzi. Internet Explorer 9: È possibile rimuovere il computer locale dall'elenco di bypass del proxy usando la macro "<-loopback>".
Se dwAccessType non è impostato su INTERNET_OPEN_TYPE_PROXY, questo parametro viene ignorato e deve essere NULL.
[in] dwFlags
Opzioni. Questo parametro può essere una combinazione dei valori seguenti.
Valore | Significato |
---|---|
|
Esegue solo richieste asincrone su handle discendenti dall'handle restituito da questa funzione. |
|
Non effettua richieste di rete. Tutte le entità vengono restituite dalla cache. Se l'elemento richiesto non è presente nella cache, viene restituito un errore appropriato, ad esempio ERROR_FILE_NOT_FOUND. |
|
Identico a INTERNET_FLAG_FROM_CACHE. Non effettua richieste di rete. Tutte le entità vengono restituite dalla cache. Se l'elemento richiesto non è presente nella cache, viene restituito un errore appropriato, ad esempio ERROR_FILE_NOT_FOUND. |
Valore restituito
Restituisce un handle valido che l'applicazione passa alle funzioni WinINet successive. Se InternetOpen ha esito negativo, restituisce NULL. Per recuperare un messaggio di errore specifico, chiamare GetLastError.
Commenti
InternetOpen è la prima funzione WinINet chiamata da un'applicazione. Indica alla DLL Internet di inizializzare le strutture di dati interne e prepararsi per le chiamate future dall'applicazione. Al termine dell'uso delle funzioni Internet, l'applicazione deve chiamare InternetCloseHandle per liberare l'handle e le risorse associate.
L'applicazione può effettuare qualsiasi numero di chiamate a InternetOpen, anche se una singola chiamata è normalmente sufficiente. L'applicazione potrebbe dover definire comportamenti separati per ogni istanza di InternetOpen , ad esempio server proxy diversi configurati per ogni istanza.
Dopo che l'applicazione chiamante ha terminato l'uso dell'handle DELL'interfaccia UTENTE RESTITUITA da InternetOpen, deve essere chiusa tramite la funzione InternetCloseHandle .
Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro da DllMain o dai costruttori e distruttori di oggetti globali.
Nota
L'intestazione wininet.h definisce InternetOpen 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
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wininet.h |
Libreria | Wininet.lib |
DLL | Wininet.dll |