#include "idl_types.h" /* initshutdown interface definition */ import "lsa.idl"; [ uuid("894de0c0-0d55-11d3-a322-00c04fa321a1"), version(1.0), endpoint("ncacn_np:[\\pipe\\InitShutdown]"), pointer_default(unique), helpstring("Init shutdown service") ] interface initshutdown { typedef [v1_enum] enum { SHTDN_REASON_MAJOR_OTHER = 0x00000000, SHTDN_REASON_MAJOR_HARDWARE = 0x00010000, SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000, SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000, SHTDN_REASON_MAJOR_APPLICATION = 0x00040000, SHTDN_REASON_MAJOR_SYSTEM = 0x00050000, SHTDN_REASON_MAJOR_POWER = 0x00060000, SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 } initshutdown_ReasonMajor; typedef [v1_enum] enum { SHTDN_REASON_MINOR_OTHER = 0x00000000, SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001, SHTDN_REASON_MINOR_INSTALLATION = 0x00000002, SHTDN_REASON_MINOR_UPGRADE = 0x00000003, SHTDN_REASON_MINOR_RECONFIG = 0x00000004, SHTDN_REASON_MINOR_HUNG = 0x00000005, SHTDN_REASON_MINOR_UNSTABLE = 0x00000006, SHTDN_REASON_MINOR_DISK = 0x00000007, SHTDN_REASON_MINOR_PROCESSOR = 0x00000008, SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009, SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a, SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b, SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c, SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d, SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e, SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000f, SHTDN_REASON_MINOR_SERVICEPACK = 0x00000010, SHTDN_REASON_MINOR_HOTFIX = 0x00000011, SHTDN_REASON_MINOR_SECURITYFIX = 0x00000012, SHTDN_REASON_MINOR_SECURITY = 0x00000013, SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY = 0x00000014, SHTDN_REASON_MINOR_WMI = 0x00000015, SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL= 0x00000016, SHTDN_REASON_MINOR_HOTFIX_UNINSTALL = 0x00000017, SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL= 0x00000018, SHTDN_REASON_MINOR_MMC = 0x00000019, SHTDN_REASON_MINOR_TERMSRV = 0x00000020 } initshutdown_ReasonMinor; typedef [bitmap32bit] bitmap { SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000, SHTDN_REASON_FLAG_PLANNED = 0x80000000 } initshutdown_ReasonFlags; WERROR initshutdown_Init( [in,unique] uint16 *hostname, /* * Note: lsa_String and winreg_String both result * in WERR_INVALID_PARAM */ [in,unique] lsa_StringLarge *message, [in] uint32 timeout, [in] uint8 force_apps, [in] uint8 do_reboot ); WERROR initshutdown_Abort( [in,unique] uint16 *server ); WERROR initshutdown_InitEx( [in,unique] uint16 *hostname, /* * Note: lsa_String and winreg_String both result * in WERR_INVALID_PARAM */ [in,unique] lsa_StringLarge *message, [in] uint32 timeout, [in] uint8 force_apps, [in] uint8 do_reboot, [in] uint32 reason ); }