//+------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (c) Microsoft Corporation. All rights reserved.
//
//  File:       aldefs.idl
//
//  Contents:   Alert system definitions.
//
//  History:    01-Aug-94   MarkBl      Created
//
//  Notes:      This is not a real interface.  Merely a way to declare
//              alert system definitions.
//
//-------------------------------------------------------------------------

[
    local,
//     object,
    uuid(0F061498-8D59-101B-A4BE-00000B65C31D),
    pointer_default(unique)
]
interface AlertDefs
{
    //
    // Alert severities.
    //

    // for mktyplib...

    #define ALERTSEVERITY_INFORMATION    0x0004
    #define ALERTSEVERITY_WARNING        0x0002
    #define ALERTSEVERITY_ERROR          0x0001
    #define ALERTSEVERITY_SEVERE_ERROR   0x0020
    #define ALERTSEVERITY_FATAL_ERROR    0x0040
    #define ALERTSEVERITY_NEGATIVE_MATCH 0x0080

    // BUGBUG : TEMORARILLY define old severity manifests

    #define ALERTSEVERITY_STATUS        ALERTSEVERITY_INFORMATION
    #define ALERTSEVERITY_NOTIFICATION  ALERTSEVERITY_WARNING
    #define ALERTSEVERITY_SEVERE        ALERTSEVERITY_SEVERE_ERROR
    #define ALERTSEVERITY_FATAL         ALERTSEVERITY_FATAL_ERROR

    // ... for the C compiler

    cpp_quote("#define ALERTSEVERITY_INFORMATION    0x0004")
    cpp_quote("#define ALERTSEVERITY_WARNING        0x0002")
    cpp_quote("#define ALERTSEVERITY_ERROR          0x0001")
    cpp_quote("#define ALERTSEVERITY_SEVERE_ERROR   0x0020")
    cpp_quote("#define ALERTSEVERITY_FATAL_ERROR    0x0040")
    cpp_quote("#define ALERTSEVERITY_NEGATIVE_MATCH 0x0080")

    // BUGBUG : TEMORARILLY define old severity manifests

    cpp_quote("#define ALERTSEVERITY_STATUS        ALERTSEVERITY_INFORMATION")
    cpp_quote("#define ALERTSEVERITY_NOTIFICATION  ALERTSEVERITY_WARNING")
    cpp_quote("#define ALERTSEVERITY_SEVERE        ALERTSEVERITY_SEVERE_ERROR")
    cpp_quote("#define ALERTSEVERITY_FATAL         ALERTSEVERITY_FATAL_ERROR")


    //
    // BUGBUG : these don't need to be public.
    //

    // for mktyplib...

    #define cAlertCategories                (18)

    // ... for the C compiler

    cpp_quote("#define cAlertCategories                (18)")


    //
    // Alert categories & subcategories
    //

    // for mktyplib...

    #define Category_SystemEvents                   (0)
    #define SystemEvents_Legacy                     (1)

    #define Category_UserNotification               (1)
    #define UserNotification_PrintJobDone           (1)
    #define UserNotification_Fax                    (2)

    #define Category_ApplicationNotification        (2)
    #define ApplicationNotification_Memory          (1)

    #define Category_ApplicationManagement          (3)
    #define ApplicationManagement_TokenGranted      (1)
    #define ApplicationManagement_TokenDenied       (2)

    #define Category_PrintersAndSharedResources     (4)
    #define PrintersAndSharedResources_Toner        (1)
    #define PrintersAndSharedResources_DeviceDriver (2)
    #define PrintersAndSharedResources_Paper        (3)

    #define Category_SecurityManagement             (5)
    #define SecurityManagement_ACL                  (1)

    #define Category_UserAccounts                   (6)
    #define UserAccounts_Created                    (1)
    #define UserAccounts_Deleted                    (2)

    #define Category_Storage                        (7)
    #define Storage_Replication                     (1)
    #define Storage_Quotas                          (2)
    #define Storage_OFS                             (3)
    #define Storage_NTFS                            (4)
    #define Storage_FAT                             (5)

    #define Category_DistributedServices            (8)
    #define DistributedServices_DFS                 (1)
    #define DistributedServices_DS                  (2)

    #define Category_LAN                            (9)
    #define LAN_Bridge                              (1)
    #define LAN_Cabling                             (2)

    #define Category_WAN                            (10)
    #define WAN_Router                              (1)
    #define WAN_Switch                              (2)
    #define WAN_Telephony                           (3)

    #define Category_Catalog                        (11)
    #define Catalog_Catalog                         (1)

    #define Category_BatchJob                       (12)
    #define BatchJob_FailedToStart                  (1)
    #define BatchJob_FailedTocomplete               (2)

    #define Category_Backup                         (13)
    #define Backup_FailedToStart                    (1)
    #define Backup_Started                          (2)
    #define Backup_FailedToComplete                 (3)
    #define Backup_Completed                        (4)

    #define Category_SystemSoftware                 (14)
    #define SystemSoftware_Kernel                   (1)
    #define SystemSoftware_Drivers                  (2)

    #define Category_SystemHardware                 (15)
    #define SystemHardware_CD ROM                   (1)
    #define SystemHardware_Memory                   (2)
    #define SystemHardware_Bus                      (3)
    #define SystemHardware_SCSI                     (4)
    #define SystemHardware_IDE                      (5)
    #define SystemHardware_NIC                      (6)

    #define Category_SystemMonitoring               (16)
    #define SystemMonitoring_SYSMON                 (1)
    #define SystemMonitoring_Bloodhound             (2)

    #define Category_HelpdeskAndDiagnostics         (17)
    #define HelpdeskAndDiagnostics_DrWatson         (1)

    #define Category_AlertNotify                    (18)
    #define AlertNotify_ForwardIncomplete           (1)
    #define AlertNotify_RegistrationCanceled        (2)


    // ... for the C compiler

    cpp_quote("#define Category_SystemEvents                   (0)")
    cpp_quote("#define SystemEvents_Legacy                     (1)")

    cpp_quote("#define Category_UserNotification               (1)")
    cpp_quote("#define UserNotification_PrintJobDone           (1)")
    cpp_quote("#define UserNotification_Fax                    (2)")

    cpp_quote("#define Category_ApplicationNotification        (2)")
    cpp_quote("#define ApplicationNotification_Memory          (1)")

    cpp_quote("#define Category_ApplicationManagement          (3)")
    cpp_quote("#define ApplicationManagement_TokenGranted      (1)")
    cpp_quote("#define ApplicationManagement_TokenDenied       (2)")

    cpp_quote("#define Category_PrintersAndSharedResources     (4)")
    cpp_quote("#define PrintersAndSharedResources_Toner        (1)")
    cpp_quote("#define PrintersAndSharedResources_DeviceDriver (2)")
    cpp_quote("#define PrintersAndSharedResources_Paper        (3)")

    cpp_quote("#define Category_SecurityManagement             (5)")
    cpp_quote("#define SecurityManagement_ACL                  (1)")

    cpp_quote("#define Category_UserAccounts                   (6)")
    cpp_quote("#define UserAccounts_Created                    (1)")
    cpp_quote("#define UserAccounts_Deleted                    (2)")

    cpp_quote("#define Category_Storage                        (7)")
    cpp_quote("#define Storage_Replication                     (1)")
    cpp_quote("#define Storage_Quotas                          (2)")
    cpp_quote("#define Storage_OFS                             (3)")
    cpp_quote("#define Storage_NTFS                            (4)")
    cpp_quote("#define Storage_FAT                             (5)")

    cpp_quote("#define Category_DistributedServices            (8)")
    cpp_quote("#define DistributedServices_DFS                 (1)")
    cpp_quote("#define DistributedServices_DS                  (2)")

    cpp_quote("#define Category_LAN                            (9)")
    cpp_quote("#define LAN_Bridge                              (1)")
    cpp_quote("#define LAN_Cabling                             (2)")

    cpp_quote("#define Category_WAN                            (10)")
    cpp_quote("#define WAN_Router                              (1)")
    cpp_quote("#define WAN_Switch                              (2)")
    cpp_quote("#define WAN_Telephony                           (3)")

    cpp_quote("#define Category_Catalog                        (11)")
    cpp_quote("#define Catalog_Catalog                         (1)")

    cpp_quote("#define Category_BatchJob                       (12)")
    cpp_quote("#define BatchJob_FailedToStart                  (1)")
    cpp_quote("#define BatchJob_FailedTocomplete               (2)")

    cpp_quote("#define Category_Backup                         (13)")
    cpp_quote("#define Backup_FailedToStart                    (1)")
    cpp_quote("#define Backup_Started                          (2)")
    cpp_quote("#define Backup_FailedToComplete                 (3)")
    cpp_quote("#define Backup_Completed                        (4)")

    cpp_quote("#define Category_SystemSoftware                 (14)")
    cpp_quote("#define SystemSoftware_Kernel                   (1)")
    cpp_quote("#define SystemSoftware_Drivers                  (2)")

    cpp_quote("#define Category_SystemHardware                 (15)")
    cpp_quote("#define SystemHardware_CD ROM                   (1)")
    cpp_quote("#define SystemHardware_Memory                   (2)")
    cpp_quote("#define SystemHardware_Bus                      (3)")
    cpp_quote("#define SystemHardware_SCSI                     (4)")
    cpp_quote("#define SystemHardware_IDE                      (5)")
    cpp_quote("#define SystemHardware_NIC                      (6)")

    cpp_quote("#define Category_SystemMonitoring               (16)")
    cpp_quote("#define SystemMonitoring_SYSMON                 (1)")
    cpp_quote("#define SystemMonitoring_Bloodhound             (2)")

    cpp_quote("#define Category_HelpdeskAndDiagnostics         (17)")
    cpp_quote("#define HelpdeskAndDiagnostics_DrWatson         (1)")

    cpp_quote("#define Category_AlertNotify                    (18)")
    cpp_quote("#define AlertNotify_ForwardIncomplete           (1)")
    cpp_quote("#define AlertNotify_RegistrationCanceled        (2)")

    //
    // Alert Report property & method ids.
    //
    // Base system alert properties.
    //

    // for mktyplib...

    #define DISPID_SystemAlertReport_Category               (1001)
    #define DISPID_SystemAlertReport_SubCategory            (1002)
    #define DISPID_SystemAlertReport_Severity               (1003)
    #define DISPID_SystemAlertReport_TitleText              (1004)
    #define DISPID_SystemAlertReport_DescriptionText        (1005)
    #define DISPID_SystemAlertReport_SourceDescription      (1006)
    #define DISPID_SystemAlertReport_SourceMachine          (1007)
    #define DISPID_SystemAlertReport_CreationTime           (1008)
    #define DISPID_SystemAlertReport_TitleMessageNumber     (1009)
    #define DISPID_SystemAlertReport_TitleMessageInserts    (1010)
    #define DISPID_SystemAlertReport_DescrMessageNumber     (1011)
    #define DISPID_SystemAlertReport_DescrMessageInserts    (1012)
    #define DISPID_SystemAlertReport_ComponentID            (1013)
    #define DISPID_SystemAlertReport_ReportClassID          (1014)
    #define DISPID_SystemAlertReport_BinaryData             (1015)
    #define DISPID_SystemAlertReport_SourceLanguageID       (1016)
    #define DISPID_SystemAlertReport_UniqueID               (1017)
    #define DISPID_SystemAlertReport_TargetCount            (1018)
    #define DISPID_SystemAlertReport_TakeActionDLL          (1019)
    #define DISPID_SystemAlertReport_Reserved               (1200)
    #define DISPID_SystemAlertReport_GetTitle               (1501)
    #define DISPID_SystemAlertReport_GetDescription         (1502)
    #define DISPID_SystemAlertReport_Send                   (1503)
    #define DISPID_SystemAlertReport_Save                   (1504)
    #define DISPID_SystemAlertReport_GetVersion             (1505)
    #define DISPID_SystemAlertReport_SetExpiration          (1506)
    #define DISPID_SystemAlertReport_GetExpiration          (1507)
    #define DISPID_SystemAlertReport_SetState               (1508)
    #define DISPID_SystemAlertReport_GetState               (1509)
    #define DISPID_SystemAlertReport_GetActions             (1510)
    #define DISPID_SystemAlertReport_PerformAction          (1511)

    // ... for the C compiler

    cpp_quote("#define DISPID_SystemAlertReport_Category               (1001)")
    cpp_quote("#define DISPID_SystemAlertReport_SubCategory            (1002)")
    cpp_quote("#define DISPID_SystemAlertReport_Severity               (1003)")
    cpp_quote("#define DISPID_SystemAlertReport_TitleText              (1004)")
    cpp_quote("#define DISPID_SystemAlertReport_DescriptionText        (1005)")
    cpp_quote("#define DISPID_SystemAlertReport_SourceDescription      (1006)")
    cpp_quote("#define DISPID_SystemAlertReport_SourceMachine          (1007)")
    cpp_quote("#define DISPID_SystemAlertReport_CreationTime           (1008)")
    cpp_quote("#define DISPID_SystemAlertReport_TitleMessageNumber     (1009)")
    cpp_quote("#define DISPID_SystemAlertReport_TitleMessageInserts    (1010)")
    cpp_quote("#define DISPID_SystemAlertReport_DescrMessageNumber     (1011)")
    cpp_quote("#define DISPID_SystemAlertReport_DescrMessageInserts    (1012)")
    cpp_quote("#define DISPID_SystemAlertReport_ComponentID            (1013)")
    cpp_quote("#define DISPID_SystemAlertReport_ReportClassID          (1014)")
    cpp_quote("#define DISPID_SystemAlertReport_BinaryData             (1015)")
    cpp_quote("#define DISPID_SystemAlertReport_SourceLanguageID       (1016)")
    cpp_quote("#define DISPID_SystemAlertReport_UniqueID               (1017)")
    cpp_quote("#define DISPID_SystemAlertReport_TargetCount            (1018)")
    cpp_quote("#define DISPID_SystemAlertReport_TakeActionDLL          (1019)")
    cpp_quote("#define DISPID_SystemAlertReport_Reserved               (1200)")
    cpp_quote("#define DISPID_SystemAlertReport_GetTitle               (1501)")
    cpp_quote("#define DISPID_SystemAlertReport_GetDescription         (1502)")
    cpp_quote("#define DISPID_SystemAlertReport_Send                   (1503)")
    cpp_quote("#define DISPID_SystemAlertReport_Save                   (1504)")
    cpp_quote("#define DISPID_SystemAlertReport_GetVersion             (1505)")
    cpp_quote("#define DISPID_SystemAlertReport_SetExpiration          (1506)")
    cpp_quote("#define DISPID_SystemAlertReport_GetExpiration          (1507)")
    cpp_quote("#define DISPID_SystemAlertReport_SetState               (1508)")
    cpp_quote("#define DISPID_SystemAlertReport_GetState               (1509)")
    cpp_quote("#define DISPID_SystemAlertReport_GetActions             (1510)")
    cpp_quote("#define DISPID_SystemAlertReport_PerformAction          (1511)")

    //
    // NT event report alert property ids.
    //

    // for mktyplib...

    #define DISPID_NTEventReport_EventCategory              (2)
    #define DISPID_NTEventReport_LogFile                    (3)

    // ... for the C compiler

    cpp_quote("#define DISPID_NTEventReport_EventCategory              (2)")
    cpp_quote("#define DISPID_NTEventReport_LogFile                    (3)")

    //
    // Forwarding rules collection dispinterface property/method ids.
    //

    // for mktyplib...

    #define DISPID_RULES_BASE (2)

    #define DISPID_Rule_Collection          (DISPID_RULES_BASE + 0)
    #define DISPID_Rule_Collection_Count    (DISPID_RULES_BASE + 1)
    #define DISPID_Rule_Collection_Add      (DISPID_RULES_BASE + 2)
    #define DISPID_Rule_Collection_Item     (DISPID_RULES_BASE + 3)
    #define DISPID_Rule_Collection__NewEnum (DISPID_NEWENUM)

    // ... for the C compiler

    cpp_quote("#define DISPID_RULES_BASE (2)")

    cpp_quote("#define DISPID_Rule_Collection          (DISPID_RULES_BASE + 0)")
    cpp_quote("#define DISPID_Rule_Collection_Count    (DISPID_RULES_BASE + 1)")
    cpp_quote("#define DISPID_Rule_Collection_Add      (DISPID_RULES_BASE + 2)")
    cpp_quote("#define DISPID_Rule_Collection_Item     (DISPID_RULES_BASE + 3)")
    cpp_quote("#define DISPID_Rule_Collection__NewEnum (DISPID_NEWENUM)")


    //
    // Forwarding rule object dispinterface property/method ids.
    //

    // for mktyplib...

    #define DISPID_RULE_BASE (2)

    #define DISPID_Rule_Category               (DISPID_RULE_BASE + 0)
    #define DISPID_Rule_Remove                 (DISPID_RULE_BASE + 1)
    #define DISPID_SubRule_Collection_Count    (DISPID_RULE_BASE + 2)
    #define DISPID_SubRule_Collection_Add      (DISPID_RULE_BASE + 3)
    #define DISPID_SubRule_Collection_Item     (DISPID_RULE_BASE + 4)
    #define DISPID_SubRule_Collection__NewEnum (DISPID_RULE_BASE + 5)

    // ... for the C compiler

    cpp_quote("#define DISPID_RULE_BASE (2)")

    cpp_quote("#define DISPID_Rule_Category               (DISPID_RULE_BASE + 0)")
    cpp_quote("#define DISPID_Rule_Remove                 (DISPID_RULE_BASE + 1)")
    cpp_quote("#define DISPID_SubRule_Collection_Count    (DISPID_RULE_BASE + 2)")
    cpp_quote("#define DISPID_SubRule_Collection_Add      (DISPID_RULE_BASE + 3)")
    cpp_quote("#define DISPID_SubRule_Collection_Item     (DISPID_RULE_BASE + 4)")
    cpp_quote("#define DISPID_SubRule_Collection__NewEnum (DISPID_RULE_BASE + 5)")

    //
    // Forwarding sub rule object dispinterface property/method ids.
    //

    // for mktyplib...

    #define DISPID_SUBRULE_BASE (2)

    #define DISPID_SubRule_SubCategory (DISPID_SUBRULE_BASE + 0)
    #define DISPID_SubRule_Severity    (DISPID_SUBRULE_BASE + 1)

    // ... for the C compiler

    cpp_quote("#define DISPID_SUBRULE_BASE (2)")

    cpp_quote("#define DISPID_SubRule_SubCategory (DISPID_SUBRULE_BASE + 0)")
    cpp_quote("#define DISPID_SubRule_Severity    (DISPID_SUBRULE_BASE + 1)")

    //
    // Alert recipient object dispinterface property/method ids.
    //

    // for mktyplib...

    #define DISPID_REGISTRATION_BASE (2)

    #define DISPID_Registration_ID               (DISPID_REGISTRATION_BASE + 0)
    #define DISPID_Registration_TargetPath       (DISPID_REGISTRATION_BASE + 1)
    #define DISPID_Registration_ForwardingRules  (DISPID_REGISTRATION_BASE + 2)
    #define DISPID_Registration_EnableForwarding (DISPID_REGISTRATION_BASE + 3)
    #define DISPID_Registration__FirstErrorTime  (DISPID_REGISTRATION_BASE + 4)
    #define DISPID_Registration__ErrorCount      (DISPID_REGISTRATION_BASE + 5)
    #define DISPID_Registration__Target          (DISPID_REGISTRATION_BASE + 6)
    #define DISPID_Registration_Remove           (DISPID_REGISTRATION_BASE + 7)

    // ... for the C compiler

    cpp_quote("#define DISPID_REGISTRATION_BASE (2)")

    cpp_quote("#define DISPID_Registration_ID               (DISPID_REGISTRATION_BASE + 0)")
    cpp_quote("#define DISPID_Registration_TargetPath       (DISPID_REGISTRATION_BASE + 1)")
    cpp_quote("#define DISPID_Registration_ForwardingRules  (DISPID_REGISTRATION_BASE + 2)")
    cpp_quote("#define DISPID_Registration_EnableForwarding (DISPID_REGISTRATION_BASE + 3)")
    cpp_quote("#define DISPID_Registration__FirstErrorTime  (DISPID_REGISTRATION_BASE + 4)")
    cpp_quote("#define DISPID_Registration__ErrorCount      (DISPID_REGISTRATION_BASE + 5)")
    cpp_quote("#define DISPID_Registration__Target          (DISPID_REGISTRATION_BASE + 6)")
    cpp_quote("#define DISPID_Registration_Remove           (DISPID_REGISTRATION_BASE + 7)")

    //
    // Alert recipient collection dispinterface property/method ids.
    //

    // for mktyplib...

    #define DISPID_REG_COLLECTION_BASE (2)

    #define DISPID_Registration_Collection          (DISPID_REG_COLLECTION_BASE + 0)
    #define DISPID_Registration_Collection_Count    (DISPID_REG_COLLECTION_BASE + 1)
    #define DISPID_Registration_Collection_Add      (DISPID_REG_COLLECTION_BASE + 2)
    #define DISPID_Registration_Collection_Item     (DISPID_REG_COLLECTION_BASE + 3)
    #define DISPID_Registration_Collection__NewEnum (DISPID_NEWENUM)

    // ... for the C compiler

    cpp_quote("#define DISPID_REG_COLLECTION_BASE (2)")

    cpp_quote("#define DISPID_Registration_Collection          (DISPID_REG_COLLECTION_BASE + 0)")
    cpp_quote("#define DISPID_Registration_Collection_Count    (DISPID_REG_COLLECTION_BASE + 1)")
    cpp_quote("#define DISPID_Registration_Collection_Add      (DISPID_REG_COLLECTION_BASE + 2)")
    cpp_quote("#define DISPID_Registration_Collection_Item     (DISPID_REG_COLLECTION_BASE + 3)")
    cpp_quote("#define DISPID_Registration_Collection__NewEnum (DISPID_NEWENUM)")

    void DummyMethod(void);
}
