Skip to main content
Skip table of contents


This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core


Parameter: devSecurityNameParam * SecurityNameParam

The RIP or the plugin may require a password or LDK feature to protect/enable a plugin before enabling the use of a plugin, as described for (v13) D_GEN_PASSWORD_PROTECTED . Implementing this selector allows you to choose the option name presented when requesting a pass‐ word from the user and possibly to reduce the number of passwords required from the user when enabling related devices.

When the security device or a prior call to D_GEN_PASSWORD_PROTECTED indicates that the plugin requires a password, the RIP calls this selector: once for each plugin to determine the requirements of a single device plugin, or once for each device type supported by a multiple device type plugin.

The possibilities are:

  • The plugin does not support this selector.
  • The plugin or device type can return plugin and security names that the RIP will use when asking for a password.

If a password is required, but this selector is not implemented, the RIP generates the plugin and security names for itself.

  • The plugin name is derived in a platform‐specific way from the filename on PC platforms (for example, op_plug.i32 ), and from the HqoD resource on Macintosh computers.
  • The security name is the name field returned from the device capabilities structure (for example,

op_plug ). See (v13) The HqnDeviceCapabilities structure .

If the plugin supports this selector, then the RIP will call it once for every module implemented by the plugin, after calling D_FIND_DEVICE . At this point the d_capabilities field of the deviceDefinition is not filled in, so the plugin must remember the device identifier itself if the same names are not being used for all of the devices in the plugin.

If this selector returns NOERR then the plugin has a composite security name, returned using the parameter described here:

    typedef struct devSecurityNameParam {
      uint8 atbzPluginName [SECURITY_NAME_STRLEN]; uint8 atbzSecurityName[SECURITY_NAME_STRLEN];
    } devSecurityNameParam;

Each distinct value of this parameter produces a separate entry, visible in the Extras dialog box in the RIP and requiring a different password to enable the relevant plugins or device types. By choosing appropriate (shared) values for the names described in atbzPluginName and atbzSecurityName,you can produce groupings of plugins, devices, or both; all represented by one entry.

However, you choose the names, you must declare all the names to Global Graphics so that suitable passwords can be supplied.

To ensure the security of your plugin, you must also supply a copy of the plugin file so that Global Graphics can protect the plugin against subsequent tampering, and then return the protected plugin to you for issue to your customers.


To create a unique entry for each plugin, the plugin should copy its own name into this 32‐byte string buffer. To create an entry that groups related plugins, the plugin should enter a more generic shared name. For example, you could choose the name of your organization to group all plugins that you write.


To create a unique entry for each device, the plugin should copy the device name (or the current device name for a multiple‐device plugin) into this 32‐byte string buffer. To create an entry that groups related devices, the plugin should enter a more generic shared name.

Enabling options in the Extras dialog box

For each composite security name used by the installed plugins, a new entry appears in the Extras dialog box accessed from the Configure RIP dialog box. This entry takes the general form:

<Plug-in Name>, <Security Name>

The <Plug-in Name> and the <Security Name> are the values of atbzPluginName and atbzSecurityName , respectively. For example, the second example output plugin in the plugin kit is called opeg2 and has security names EgFlat , Infinity , and EgRound . When installed, this plugin pro‐ vides three entries of the form: opeg2, EgFlat and so on.

If the user selects an entry for a device and clicks Add then the RIP prompts the user for a password, as with other Extras features. Provided that the password is correct, the RIP enables the device.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.