Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Converts an ANSI URL with components in various multibyte character set (MBCS) encodings to an IUri object.
Syntax
HRESULT CreateUriFromMultiByteString(
_In_ LPCSTR pszANSIInputUri,
_In_ DWORD dwEncodingFlags = Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8,
_In_ DWORD dwCodePage,
_In_ DWORD dwCreateFlags,
_Reserved_ DWORD_PTR dwReserved,
_Out_ IUri **ppURI
);
Parameters
pszANSIInputUri [in]
A constant pointer to an ANSI character string that specifies the URI.
dwEncodingFlags [in]
A valid combination of the following flags, which allows the caller to specify the encoding of all applicable components, except the scheme and the port.
Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 (0x00000001)
Default. The user info component and path component use percent encoded UTF-8.
Uri_ENCODING_USER_INFO_AND_PATH_IS_CP (0x00000002)
The user info component and path component use the codepage specified in dwCodePage.
Uri_ENCODING_HOST_IS_IDN (0x00000004)
Default. The host component uses IDN (Punycode) format.
Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 (0x00000008)
The host component uses percent encoded UTF-8.
Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP (0x00000010)
The host component uses the codepage specified in dwCodePage.
Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8 (0x00000020)
Default. The query and fragment components use percent encoded UTF-8.
Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP (0x00000040)
The query and fragment components use the codepage specified in dwCodePage.
Uri_ENCODING_RFC (0x00000025)
The URI meets the requirements of RFC 3490. This flag combines the preceding default flags: Uri_ENCODING_HOST_IS_IDN, Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8, and Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8.
dwCodePage [in]
An unsigned long integer value that contains the codepage identifier value for the multibyte URI.
dwCreateFlags [in]
A valid combination of flags. Refer to CreateUri for a complete list of flags and values.
dwReserved [in]
Reserved. Must be set to 0.
ppURI [out]
An IUri interface pointer that will receive the new instance.
Return value
Returns one of the following values.
Return code | Description |
---|---|
S_OK | Success. |
E_INVALIDARG | Flags conflict, or ppURI is NULL. |
E_OUTOFMEMORY | There is insufficient memory to create the IUri. |
INET_E_INVALID_URL | The string does not contain a recognized URI format. |
INET_E_SECURITY_PROBLEM | The URI contains syntax that attempts to bypass security. |
Remarks
This function fails with E_INVALIDARG, if the flags specified in dwEncodingFlags conflict. For example, if both Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 and Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP are set, this function will fail.
The dwEncodingFlags for host are ignored if Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES is specified in dwCreateFlags. Use the encoding flags for userinfo and path instead.
Requirements
Minimum supported client |
Windows XP with SP2 |
Minimum supported server |
Windows Server 2003 with SP1 |
Product |
Internet Explorer 7 |
Header |
Urlmon.h |
Library |
Urlmon.lib |
DLL |
Urlmon.dll |
See also
Reference