Retrieves the cookie for the specified URL.
Syntax
BOOL InternetGetCookie(
__in LPCTSTR lpszUrl,
__in LPCTSTR lpszCookieName,
__out LPTSTR lpszCookieData,
__inout LPDWORD lpdwSize
);
Parameters
- lpszUrl [in]
-
A pointer to a null-terminated string that specifies the URL for which cookies are to be retrieved.
- lpszCookieName [in]
-
Not implemented.
- lpszCookieData [out]
-
A pointer to a buffer that receives the cookie data. This parameter can be NULL.
- lpdwSize [in, out]
-
A pointer to a variable that specifies the size of the
lpszCookieData parameter buffer, in TCHARs. If the function succeeds, the buffer receives the amount of data copied to the
lpszCookieData buffer. If
lpszCookieData is NULL, this parameter receives a value that specifies the size of the buffer necessary to copy all the cookie data, expressed as a byte count.
Return Value
If the function succeeds, the function returns TRUE.
If the function fails, it returns FALSE. To get extended error data, call
GetLastError.
The following error values apply to
InternetGetCookie.
| Return code | Description |
- ERROR_NO_MORE_ITEMS
| There is no cookie for the specified URL and all its parents.
|
- ERROR_INSUFFICIENT_BUFFER
| The value passed in
lpdwSize is insufficient to copy all the cookie data. The value returned in
lpdwSize is the size of the buffer necessary to get all the data.
|
- ERROR_INVALID_PARAMETER
| One or more of the parameters is invalid.
The lpszUrl parameter is NULL.
|
Remarks
InternetGetCookie does not require a call to
InternetOpen.
InternetGetCookie checks in the windows\cookies directory for persistent cookies that have an expiration date set sometime in the future.
InternetGetCookie also searches memory for any session cookies, that is, cookies that do not have an expiration date that were created in the same process by
InternetSetCookie, because these cookies are not written to any files. Rules for creating cookie files are internal to the system and can change in the future.
As noted in HTTP Cookies, InternetGetCookie does not return cookies that the server marked as non-scriptable with the "HttpOnly" attribute in the Set-Cookie header.
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| Version | Internet Explorer 3.0 or later |
| Header | Wininet.h |
| Library | Wininet.lib |
| DLL | Wininet.dll |
| Unicode and ANSI names | InternetGetCookieW (Unicode) and InternetGetCookieA (ANSI) |
See Also
- HTTP Cookies
- Managing Cookies
- WinINet Functions
- InternetGetCookieEx
- InternetSetCookie
- InternetSetCookieEx
Send comments about this topic to Microsoft
Build date: 10/8/2009