---
name: "CreateUri"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/CreateUri"
---

# CreateUri(3w)

## NAME

**CreateUri** (URLMON.@)

## SYNOPSIS

HRESULT CreateUri\
  (\
   LPCWSTR   *pwzURI*,\
   DWORD     *dwFlags*,\
   DWORD\_PTR *dwReserved*,\
   IUri\*\*    *ppURI*\
  )

## DESCRIPTION

Creates a new **IUri** object using the **URI** represented by *pwzURI*. This function parses and validates the components of *pwzURI* and then canonicalizes the parsed components.

## PARAMS

*pwzURI* **\[In\]**  The **URI** to parse, validate, and canonicalize.

*dwFlags* **\[In\]**  Flags which can affect how the parsing/canonicalization is performed.

*dwReserved* **\[In\]**  Reserved (not used).

*ppURI* **\[Out\]**  The resulting IUri after parsing/canonicalization occurs.

## RETURNS

**Success:** Returns **S\_OK**. *ppURI* contains the pointer to the newly allocated IUri.

**Failure:** **E\_INVALIDARG** if there are invalid flag combinations in *dwFlags*, or an invalid parameter, or *pwzURI* doesn't represent a valid **URI**. **E\_OUTOFMEMORY** if any memory allocation fails.

## NOTES

Default flags: Uri\_CREATE\_CANONICALIZE, Uri\_CREATE\_DECODE\_EXTRA\_INFO, Uri\_CREATE\_CRACK\_UNKNOWN\_SCHEMES, Uri\_CREATE\_PRE\_PROCESS\_HTML\_URI, Uri\_CREATE\_NO\_IE\_SETTINGS.

## IMPLEMENTATION

Declared in **"urlmon.h"**.

Implemented in **"dlls/urlmon/uri.c"**.

Debug channel **"urlmon"**.
