ATL Attributes: perf_object

Adds Perfmon Object support to a class

Syntax

[
    define_attribute = "perf_object",
    argument_list = {
        "name_res",
        "help_res",
        "namestring",
        "helpstring",
        "detail",
        "no_instances",
        "class",
        "maxinstnamelen"
    },
    argument_type ("name_res") = eIntegerValue,
    argument_type ("help_res") = eIntegerValue,
    argument_type ("namestring") = eANSIStringValue,
    argument_type ("helpstring") = eANSIStringValue,
    argument_type ("detail") = eIntegerValue,
    argument_type ("no_instances") = eBooleanValue,
    argument_type ("class") = eANSIStringValue,
    argument_type ("maxinstnamelen") = eIntegerValue,
    default_value ("name_res") = "!!",
    default_value ("help_res") = "!!",
    default_value ("namestring") = "!!",
    default_value ("helpstring") = "!!",
    default_value ("detail") = "PERF_DETAIL_NOVICE",
    default_value ("no_instances") = "false",
    default_value ("class") = "",
    default_value ("maxinstnamelen") = "ATLPERF_DEFAULT_MAXINSTNAMELENGTH",
    help_string = "Adds Perfmon Object support to a class",
    usage = eClassUsage | eStructUsage,
    group = eHPS,
    shipping = true
];

The name_res, help_res, namestring and helpstring arguments are expected in either of the following combinations:

Anything else is an error (ATL2102).