InternetQueryOptionA function (wininet.h)

Queries an Internet option on the specified handle.


BOOL InternetQueryOptionA(
  [in]      HINTERNET hInternet,
  [in]      DWORD     dwOption,
  [out]     LPVOID    lpBuffer,
  [in, out] LPDWORD   lpdwBufferLength


[in] hInternet

Handle on which to query information.

[in] dwOption

Internet option to be queried. This can be one of the Option Flags values.

[out] lpBuffer

Pointer to a buffer that receives the option setting. Strings returned by InternetQueryOption are globally allocated, so the calling application must free them when it is finished using them.

[in, out] lpdwBufferLength

Pointer to a variable that contains the size of lpBuffer, in bytes. When InternetQueryOption returns, lpdwBufferLength specifies the size of the data placed into lpBuffer. If GetLastError returns ERROR_INSUFFICIENT_BUFFER, this parameter points to the number of bytes required to hold the requested information.

Return value

Returns TRUE if successful, or FALSE otherwise. To get a specific error message, call GetLastError.


GetLastError will return the ERROR_INVALID_PARAMETER if an option flag that is invalid for the specified handle type is passed to the dwOption parameter.

For more information, see
Setting and Retrieving Internet Options.

Like all other aspects of the WinINet API, this function cannot be safely called from within DllMain or the constructors and destructors of global objects.

Note  WinINet does not support server implementations. In addition, it should not be used from a service. For server implementations or services use Microsoft Windows HTTP Services (WinHTTP).


The wininet.h header defines InternetQueryOption as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wininet.h
Library Wininet.lib
DLL Wininet.dll

See also

Common Functions






WinINet Functions