Share via


IRegisterProvider::UnregisterProvider

Unregisters one or more URL mappings for a provider binder object.

Syntax

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

Parameters

  • pwszURL
    [in] The canonical URL scheme or scheme and prefix to be unmapped for the provider designated by rclsidProvider. If pwszURL is a null pointer, all URL scheme or scheme and prefix combinations are unmapped for this provider.

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

  • rclsidProvider
    [in] A reference to the CLSID of the provider binder object for which the root binder will unregister the named URL mapping. This CLSID must be provided and is never ignored.

Return Code

  • S_OK
    The method succeeded.

  • S_FALSE
    *pwszURL is a null pointer, and no scheme/prefix combinations were mapped to rclsidProvider.

    *pwszURL was specified, and no matching scheme/prefix combinations were found or were mapped to rclsidProvider.

  • DB_SEC_E_PERMISSIONDENIED
    The caller did not have permission to unregister URL mappings.

  • E_FAIL
    A provider-specific error occurred.

  • E_INVALIDARG
    pwszURL was not a well-formed or canonical URL.

    dwReserved was not 0.

Comments

If pwszURL is a null pointer, any URL mappings for the OLE DB provider binder object named by rclsidProvider are removed.

If pwszURL is not a null pointer, the scheme or scheme and prefix combination named by *pwszURL is unmapped.

IRegisterProvider::UnregisterProvider is not transacted. If the root binder encounters a failure, it is possible that some (but not all) mappings might have been removed.