InternetSetCookie function
Applies to: desktop apps only
Creates a cookie associated with the specified URL.
Syntax
BOOL InternetSetCookie( __in LPCTSTR lpszUrl, __in LPCTSTR lpszCookieName, __in LPCTSTR lpszCookieData );
Parameters
- lpszUrl [in]
-
Pointer to a null-terminated string that specifies the URL for which the cookie should be set.
- lpszCookieName [in]
-
Pointer to a null-terminated string that specifies the name to be associated with the cookie data. If this parameter is NULL, no name is associated with the cookie.
- lpszCookieData [in]
-
Pointer to the actual data to be associated with the URL.
Return value
Returns TRUE if successful, or FALSE otherwise. To get a specific error message, call GetLastError.
Remarks
Cookies created by InternetSetCookie without an expiration date are stored in memory and are available only in the same process that created them. Cookies that include an expiration date are stored in the windows\cookies directory.
Creating a new cookie might cause a dialog box to appear on the screen asking the user if they want to allow or disallow cookies from this site based on the privacy settings for the user.
Caution InternetSetCookie will unconditionally create a cookie even if “Block all cookies” is set in Internet Explorer. This behavior can be viewed as a breach of privacy even though such cookies are not subsequently sent back to servers while the “Block all cookies” setting is active. Applications should use InternetSetCookieEx to correctly honor the user's privacy settings.
For more cookie internals, see http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx.
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).
Requirements
|
Minimum supported client | Windows 2000 Professional |
|---|---|
|
Minimum supported server | Windows 2000 Server |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names | InternetSetCookieW (Unicode) and InternetSetCookieA (ANSI) |
See also
- HTTP Cookies
- Managing Cookies
- WinINet Functions
- InternetGetCookie
- InternetGetCookieEx
- InternetSetCookieEx
Send comments about this topic to Microsoft
Build date: 2/7/2012
Applications should use InternetSetCookieEx to correctly honor the user's privacy settings.
For more cookie internals, see http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx.
- 9/8/2009
- John Sudds [Microsoft]
- 10/30/2008
- hikihome
// Create a persistent cookie.Note that the name is 'TestData' the value is 'Test' and it's all wrapped in a weirdo, undocumented string.
bReturn = InternetSetCookie("http://www.adventure_works.com", NULL,
"TestData = Test; expires = Sat,01-Jan-2000 00:00:00 GMT");
- 4/28/2008
- Peter Smith in Redmond