HTTP_COOKED_URL structure (http.h)
The HTTP_COOKED_URL structure contains a validated, canonical, UTF-16 Unicode-encoded URL request string together with pointers into it and element lengths. This is the string that the HTTP Server API matches against registered UrlPrefix strings in order to route the request appropriately.
Syntax
typedef struct _HTTP_COOKED_URL {
USHORT FullUrlLength;
USHORT HostLength;
USHORT AbsPathLength;
USHORT QueryStringLength;
PCWSTR pFullUrl;
PCWSTR pHost;
PCWSTR pAbsPath;
PCWSTR pQueryString;
} HTTP_COOKED_URL, *PHTTP_COOKED_URL;
Members
FullUrlLength
Size, in bytes, of the data pointed to by the pFullUrl member, not including a terminating null character.
HostLength
Size, in bytes, of the data pointed to by the pHost member.
AbsPathLength
Size, in bytes, of the data pointed to by the pAbsPath member.
QueryStringLength
Size, in bytes, of the data pointed to by the pQueryString member.
pFullUrl
Pointer to the scheme element at the beginning of the URL (must be either "http://..." or "https://...").
pHost
Pointer to the first character in the host element, immediately following the double slashes at the end of the scheme element.
pAbsPath
Pointer to the third forward slash ("/") in the string. In a UrlPrefix string, this is the slash immediately preceding the relativeUri element.
pQueryString
Pointer to the first question mark (?) in the string, or NULL if there is none.
Remarks
For example, if pFullUrl is "http://www.fabrikam.com/path1/path2/file.ext?n1=v1&n2=v2", then pHost points to "www.fabrikam", pAbsPath points to "/path1/…" and pQueryString points to "?n1=v1…".
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista, Windows XP with SP2 [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | http.h |