Share via


IRegisterProvider::SetURLMapping

Registers the ability of a provider binder object to process a particular URL scheme or scheme and prefix.

Syntax

HRESULT SetURLMapping(
   LPCOLESTR      pwszURL,
   DB_DWRESERVE   dwReserved,
   REFCLSID       rclsidProvider
);

Parameters

  • pwszURL
    [in] The canonical URL scheme or scheme and prefix to be mapped.

  • dwReserved
    [in] Reserved for future use; providers should set this to zero.

  • rclsidProvider
    [in] A reference to the CLSID of the provider binder object, which is to be mapped to this URL scheme or scheme and prefix.

Return Code

  • S_OK
    The method succeeded.

  • DB_E_RESOURCEEXISTS
    The URL scheme or scheme and prefix combination was already mapped to a different provider binder object.

  • DB_SEC_E_PERMISSIONDENIED
    The caller did not have permission to register this URL mapping.

  • E_FAIL
    A provider-specific error occurred.

  • E_INVALIDARG
    pwszURL was a null pointer or pointed to an invalid URL.

    dwReserved was not 0.

Comments

Each URL scheme or scheme and prefix combination may be mapped to at most a single OLE DB provider. A URL scheme and prefix may be mapped to the same provider multiple times; however, the root binder should return S_OK on each call.

Note

Provider Binder Objects discusses case-sensitivity issues for URL-to-provider mapping.

IRegisterProvider::SetURLMapping uses InternetCrackUrl to validate URLs for mapping. In addition to the URLs accepted by InternetCrackUrl, IRegisterProvider::SetURLMapping accepts scheme-only URLs such as "http", "http:", "myscheme" and "myscheme:".

For more information about InternetCrackUrl, see the MSDN Library documentation.