#define REG_OPEN_ENTRY 0x0f
#define REG_INFO 0x11
#define REG_CLOSE 0x05
+#define REG_SHUTDOWN 0x18
#define HKEY_LOCAL_MACHINE 0x80000000
#define HKEY_USERS 0x80000003
SEC_ACCESS sam_access; /* access rights flags, see rpc_secdes.h */
uint32 ptr1;
- uint32 unknown_0; /* 0x0000 000C */
-
- uint32 ptr2;
- uint32 sec_len1; /* 0x14 - length of security descriptor, bytes */
- uint32 sec_len2; /* 0x14 - length of security descriptor, bytes */
- uint32 sec_len3; /* 0x0 - length of security descriptor, bytes */
- uint32 sec_len4; /* 0x14 - length of security descriptor, bytes */
- uint32 sec_len5; /* 0x0 - length of security descriptor, bytes */
- uint32 sec_len6; /* 0x14 - length of security descriptor, bytes */
-#if 0
- SEC_DES sec_desc;
-#else
- uint8 buf_unk[20]; /* 01 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 */
-#endif
+ uint32 sec_info; /* xxxx_SECURITY_INFORMATION */
+
+ uint32 ptr2; /* pointer */
+ BUFHDR hdr_sec; /* header for security data */
+ uint32 ptr3; /* pointer */
+ SEC_DESC_BUF *data;
uint32 unknown_2; /* 0x0000 0000 */
} REG_R_OPEN_ENTRY;
+/* REG_Q_SHUTDOWN */
+typedef struct q_reg_shutdown_info
+{
+ uint32 ptr_0;
+ uint32 ptr_1;
+ uint32 ptr_2;
+ UNIHDR hdr_msg; /* shutdown message */
+ UNISTR2 uni_msg;
+ uint32 timeout; /* seconds */
+ uint16 flags;
+
+} REG_Q_SHUTDOWN;
+
+/* REG_R_SHUTDOWN */
+typedef struct r_reg_shutdown_info
+{
+ uint32 status; /* return status */
+
+} REG_R_SHUTDOWN;
+
#endif /* _RPC_REG_H */