Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
.gif)
| Previous | Next |
Defining the Plug-in Load Type
When you register a plug-in, you can use the UnsupportedLoadTypes property to specify the load types supported by a plug-in. This property can have one of the following values.
| Value | Description |
| 0 | The plug-in can be loaded as an in-process or out-of-process object. That is, the load type is not specified. |
| 1 | The plug-in cannot be loaded as an in-process object. |
| 2 | The plug-in cannot be loaded as an out-of-process object. |
The following example illustrates how to use C# to specify that the plug-in cannot be loaded out-of-process. For more information, see Registering a .NET Plug-in.
RegistryKey regHKCR = Registry.ClassesRoot;
regHKCR = regHKCR.CreateSubKey("CLSID\\
{E1171A34-1F13-46d9-AA8A-63F47E92207C}\\
Properties");
regHKCR.SetValue("UnsupportedLoadTypes", "2");
The following example illustrates how to use a registry script to specify that a plug-in cannot be loaded in-process.
HKCR
{
NoRemove CLSID
{
ForceRemove {0B2A7C4B-AEFE-4503-952F-219240E707D7} = s 'SamplePlugin Class'
{
ForceRemove Properties
{
val UnsupportedLoadTypes = s '1'
}
}
}
}
You can also use the LoadType property on the IWMSPlugin interface and the DefaultPluginLoadType property on the IWMSServer interface to identify the load type. These two properties use the WMS_PLUGIN_LOAD_TYPE enumeration type. This must contain one of the following values.
| Value | Description |
| WMS_PLUGIN_LOAD_TYPE_UNSPECIFIED | The server determines whether to load the plug-in as an in-process or out-of-process object. |
| WMS_PLUGIN_LOAD_TYPE_IN_PROC | Instructs the server to load the plug-in as an in-process object. |
| WMS_PLUGIN_LOAD_TYPE_OUT_OF_PROC | Instructs the server to load the plug-in as an out-of-process object. |
The following table identifies how the server loads a plug-in for various combinations of the relevant properties.
| DefaultPlginLoadType | LoadType | UnsupportedLoadTypes | Plug-in loaded as: |
| Unspecified | Unspecified | Unspecified | In-process |
| Unspecified | Unspecified | In-process | Out-of-process |
| Unspecified | Unspecified | Out-of-process | In-process |
| In-process | Unspecified | Unspecified | In-process |
| In-process | Unspecified | In-process | Out-of-process |
| In-process | Unspecified | Out-of-process | In-process |
| Out-of-process | Unspecified | Unspecified | Out-of-process |
| Out-of-process | Unspecified | In-process | Out-of-process |
| Out-of-process | Unspecified | Out-of-process | In-process |
| n/a | In-process | Unspecified | In-process |
| n/a | In-process | Out-of-process | In-process |
| n/a | Out-of-process | Unspecified | Out-of-process |
| n/a | Out-of-process | In-process | Out-of-process |
See Also (General)
See Also (Visual Basic .NET)
See Also (C#)
See Also (C++)
| Previous | Next |