6.2 Appendix A.2: windowsshutdown.idl

For ease of implementation, the full IDL is provided in this section.

The windowsshutdown.idl file appears as follows.

 typedef struct _REG_UNICODE_STRING {
     unsigned short Length;
     unsigned short MaximumLength;
     [size_is(MaximumLength / 2), length_is((Length) / 2) ] unsigned short* Buffer;
 }REG_UNICODE_STRING, *PREG_UNICODE_STRING;
 [
 uuid(d95afe70-a6d5-4259-822e-2c84da1ddb0d),
     pointer_default( unique ),
 version(1.0)
 ]
 interface WindowsShutdown
 {
 unsigned long
 WsdrInitiateShutdown(
     [ in ] handle_t Binding,
     [ in, unique ] PREG_UNICODE_STRING lpMessage,
     [ in ] unsigned long dwGracePeriod,
     [ in ] unsigned long dwShudownFlags,
     [ in ] unsigned long dwReason,
     [ in, unique ] PREG_UNICODE_STRING lpClientHint
     );
  
 unsigned long
 WsdrAbortShutdown(
     [ in ] handle_t Binding,
     [ in, unique ] PREG_UNICODE_STRING lpClientHint
     );
 }