ObjectExtenders::RegisterExtenderProviderUnk Method (String^, String^, IExtenderProviderUnk^, String^)
Registers an Extender Provider for an IUnknown-based Extender category.
Assembly: EnvDTE (in EnvDTE.dll)
int RegisterExtenderProviderUnk( String^ ExtenderCATID, String^ ExtenderName, IExtenderProviderUnk^ ExtenderProvider, String^ LocalizedName = "" )
Parameters
- ExtenderCATID
-
Type:
System::String^
Required. The Extender CATID.
- ExtenderName
-
Type:
System::String^
Required. The Extender name. This is the programmatic name for the Extender and is used in the call to GetExtender.
- ExtenderProvider
-
Type:
EnvDTE::IExtenderProviderUnk^
Required. The Extender Provider which implements the IExtenderProviderUnk interface.
- LocalizedName
-
Type:
System::String^
Optional. The localized display name for the Extender.
Return Value
Type: System::Int32An integer-valued cookie that identifies the registration. This cookie must be passed back during UnregisterExtenderProvider.
RegisterExtenderProviderUnk is used by an IUnknown-based Extender Provider to dynamically register itself with the ObjectExtenders object under a particular CATID and name. An Extender Provider can register more than one Extender under one or more CATIDs.
There are two ways to register Extender Providers:
Statically, under the appropriate Extender CATID subkey in the registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version number>\Extenders, during the installation of your extension.
Note Dynamically-registered Extender Providers must unregister themselves by calling UnregisterExtenderProvider during shutdown. Statically-registered providers should not do so.