InternetSetCookieExA function

The InternetSetCookieEx function creates a cookie with a specified name that is associated with a specified URL. This function differs from the InternetSetCookie function by being able to create third-party cookies.

Syntax

void InternetSetCookieExA(
  LPCSTR    lpszUrl,
  LPCSTR    lpszCookieName,
  LPCSTR    lpszCookieData,
  DWORD     dwFlags,
  DWORD_PTR dwReserved
);

Parameters

lpszUrl

Pointer to a null-terminated string that contains the URL for which the cookie should be set.

If this pointer is NULL, InternetSetCookieEx fails with an ERROR_INVALID_PARAMETER error.

lpszCookieName

Pointer to a null-terminated string that contains the name to associate with this cookie. If this pointer is NULL, then no name is associated with the cookie.

lpszCookieData

Pointer to a null-terminated string that contains the data to be associated with the new cookie.

If this pointer is NULL, InternetSetCookieEx fails with an ERROR_INVALID_PARAMETER error.

dwFlags

Flags that control how the function retrieves cookie data:

Value Meaning
INTERNET_COOKIE_EVALUATE_P3P
If this flag is set and the dwReserved parameter is not NULL, then the dwReserved parameter is cast to an LPCTSTR that points to a Platform-for-Privacy-Protection (P3P) header for the cookie in question.
INTERNET_COOKIE_HTTPONLY
Enables the retrieval of cookies that are marked as "HTTPOnly".

Do not use this flag if you expose a scriptable interface, because this has security implications. If you expose a scriptable interface, you can become an attack vector for cross-site scripting attacks. It is utterly imperative that you use this flag only if they can guarantee that you will never permit third-party code to set a cookie using this flag by way of an extensibility mechanism you provide.

Version:  Requires Internet Explorer 8.0 or later.

INTERNET_COOKIE_THIRD_PARTY
Indicates that the cookie being set is a third-party cookie.
INTERNET_FLAG_RESTRICTED_ZONE
Indicates that the cookie being set is associated with an untrusted site.

dwReserved

NULL, or contains a pointer to a Platform-for-Privacy-Protection (P3P) header to be associated with the cookie.

Return Value

Returns a member of the InternetCookieState enumeration if successful, or FALSE if the function fails. On failure, if a call to GetLastError returns ERROR_NOT_ENOUGH_MEMORY, insufficient system memory was available.

Remarks

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).
 

Requirements

   
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header wininet.h
Library Wininet.lib
DLL Wininet.dll

See Also

HTTP Cookies

InternetGetCookie

InternetGetCookieEx

InternetSetCookie

Managing Cookies

WinINet Functions