Shell plug-ins

These registry keys map a particular node or set of nodes in the hierarchy to the type of function supplied by the plug-in, and to the CLSID of the implementation class which implements the function.

Remember that any number of shell plug-ins may register their intent to add function to a given object type in the Navigator hierarchy. The plug-in should never assume that it is the only server component which is providing function for a given object type. This applies not only to existing object types, but also to any new objects that a plug-in may choose to define. If your plug-in is widely used, there is nothing to prevent another vendor from extending object types that are defined by your plug-in.

Object type identifiers

A pair of object type identifiers, subkeys \Sample\*\, are always expected at this level in the subkey hierarchy.

The first identifier in the pair specifies the root folder for a Navigator component. For plug-ins that add new folders, this identifier should always match the registry key name for a root folder specified the previous section. For plug-ins which add behaviors to existing object types, this subkey should generally be the object type of the first-level folder under an iSeries™ server container object. These type strings are defined under HKEY_CLASSES_ROOT\IBM.AS400.Network\TYPES in the registry.

The second identifier in the pair identifies the specific object type that the plug-in wants to affect. If * is specified, the plug-in will be called the for the folder type identified in the parent subkey, plus all folders and objects which appear in the hierarchy under that folder. Otherwise, a specific type identifier must be specified, and the plug-in will then only be called for that object type.

Checking for object types

When performing checks for existing object types, you should use the 3-character type identifiers that are defined under the key HKEY_CLASSES_ROOT\IBM.AS400.Network\TYPES in the registry. When performing checks for new object types that are defined by your plug-in, use a registry key. Use the registry key that identifies the folder that you specified as your junction point, or whatever type you will return to the Navigator when serving data for a folder that is defined by your plug-in.