0 out of 1 rated this helpful - Rate this topic

CreateUriFromMultiByteString function

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 codeDescription
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 [desktop apps only]

Minimum supported server

Windows Server 2003 with SP1 [desktop apps only]

Product

Internet Explorer 7

Header

Urlmon.h

Library

Urlmon.lib

DLL

Urlmon.dll

See also

Reference
CreateUri
CreateUriWithFragment

 

 

Build date: 10/26/2012

Did you find this helpful?
(1500 characters remaining)

Community Additions

ADD
© 2013 Microsoft. All rights reserved.