Función InternetOpenW (wininet.h)

Inicializa el uso de las funciones de WinINet de una aplicación.

Sintaxis

HINTERNET InternetOpenW(
  [in] LPCWSTR lpszAgent,
  [in] DWORD   dwAccessType,
  [in] LPCWSTR lpszProxy,
  [in] LPCWSTR lpszProxyBypass,
  [in] DWORD   dwFlags
);

Parámetros

[in] lpszAgent

Puntero a una cadena terminada en null que especifica el nombre de la aplicación o entidad que llama a las funciones winINet. Este nombre se usa como agente de usuario en el protocolo HTTP.

[in] dwAccessType

Tipo de acceso necesario. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
INTERNET_OPEN_TYPE_DIRECT
Resuelve todos los nombres de host localmente.
INTERNET_OPEN_TYPE_PRECONFIG
Recupera el proxy o la configuración directa del Registro.
INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY
Recupera el proxy o la configuración directa del Registro y evita el uso de un archivo de instalación de Microsoft JScript o Internet (INS) de inicio.
INTERNET_OPEN_TYPE_PROXY
Pasa solicitudes al proxy a menos que se proporcione una lista de omisión de proxy y el nombre que se va a resolver omite el proxy. En este caso, la función usa INTERNET_OPEN_TYPE_DIRECT.

[in] lpszProxy

Puntero a una cadena terminada en NULL que especifica el nombre de los servidores proxy que se van a usar cuando se especifica el acceso de proxy estableciendo dwAccessTypeen INTERNET_OPEN_TYPE_PROXY. No use una cadena vacía, ya que InternetOpen la usará como nombre de proxy. Las funciones winINet solo reconocen servidores proxy de tipo CERN (solo HTTP) y la puerta de enlace FTP de TIS (solo FTP). Si Microsoft Internet Explorer está instalado, estas funciones también admiten servidores proxy SOCKS. Las solicitudes FTP se pueden realizar a través de un proxy de tipo CERN cambiando a una solicitud HTTP o mediante InternetOpenUrl. Si dwAccessType no está establecido en INTERNET_OPEN_TYPE_PROXY, este parámetro se omite y debe ser NULL. Para obtener más información sobre cómo enumerar servidores proxy, vea la sección Enumerar servidores proxy de Habilitación de la funcionalidad de Internet.

[in] lpszProxyBypass

Puntero a una cadena terminada en NULL que especifica una lista opcional de nombres de host o direcciones IP, o ambas, que no se deben enrutar a través del proxy cuando dwAccessType se establece en INTERNET_OPEN_TYPE_PROXY. La lista puede contener caracteres comodín. No use una cadena vacía, ya que InternetOpen la usará como la lista de omisión de proxy. Si este parámetro especifica la macro "<local>", la función omite el proxy para cualquier nombre de host que no contenga un punto.

De forma predeterminada, WinINet omitirá el proxy para las solicitudes que usan los nombres de host "localhost", "loopback", "127.0.0.1" o "[::1]". Este comportamiento existe porque un servidor proxy remoto normalmente no resolverá estas direcciones correctamente. Internet Explorer 9: Puede quitar el equipo local de la lista de omisión de proxy mediante la macro "<-loopback>".

Si dwAccessType no está establecido en INTERNET_OPEN_TYPE_PROXY, este parámetro se omite y debe ser NULL.

[in] dwFlags

Opciones. Este parámetro puede ser una combinación de los valores siguientes.

Value Significado
INTERNET_FLAG_ASYNC
Realiza solo solicitudes asincrónicas en identificadores descendientes del identificador devuelto de esta función.
INTERNET_FLAG_FROM_CACHE
No realiza solicitudes de red. Todas las entidades se devuelven de la memoria caché. Si el elemento solicitado no está en la memoria caché, se devuelve un error adecuado, como ERROR_FILE_NOT_FOUND.
INTERNET_FLAG_OFFLINE
Idéntico a INTERNET_FLAG_FROM_CACHE. No realiza solicitudes de red. Todas las entidades se devuelven de la memoria caché. Si el elemento solicitado no está en la memoria caché, se devuelve un error adecuado, como ERROR_FILE_NOT_FOUND.

Valor devuelto

Devuelve un identificador válido que la aplicación pasa a las funciones winINet posteriores. Si Se produce un error en InternetOpen , devuelve NULL. Para recuperar un mensaje de error específico, llame a GetLastError.

Comentarios

InternetOpen es la primera función winINet a la que llama una aplicación. Indica al archivo DLL de Internet que inicialice estructuras de datos internas y prepárese para futuras llamadas desde la aplicación. Cuando la aplicación termine de usar las funciones de Internet, debe llamar a InternetCloseHandle para liberar el identificador y los recursos asociados.

La aplicación puede realizar cualquier número de llamadas a InternetOpen, aunque una sola llamada es normalmente suficiente. Es posible que la aplicación tenga que definir comportamientos independientes para cada instancia de InternetOpen , como servidores proxy diferentes configurados para cada uno.

Una vez que la aplicación que realiza la llamada haya terminado de usar el identificador HINTERNET devuelto por InternetOpen, debe cerrarse mediante la función InternetCloseHandle .

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetOpen como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wininet.h
Library Wininet.lib
Archivo DLL Wininet.dll

Consulte también

Habilitación de la funcionalidad de Internet

Funciones de WinINet