summaryrefslogtreecommitdiffstats
path: root/private/ole32/oleui/datapkt.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ole32/oleui/datapkt.h')
-rw-r--r--private/ole32/oleui/datapkt.h141
1 files changed, 141 insertions, 0 deletions
diff --git a/private/ole32/oleui/datapkt.h b/private/ole32/oleui/datapkt.h
new file mode 100644
index 000000000..a6feb52eb
--- /dev/null
+++ b/private/ole32/oleui/datapkt.h
@@ -0,0 +1,141 @@
+//+---------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1993 - 1994.
+//
+// File: datapkt.h
+//
+// Contents: Defines the class CDataPacket to manages diverse data
+// packets needing to be written to various databases
+//
+// Classes:
+//
+// Methods:
+//
+// History: 23-Apr-96 BruceMa Created.
+//
+//----------------------------------------------------------------------
+
+
+#ifndef _DATAPKT_H_
+#define _DATAPKT_H_
+
+typedef enum tagPACKETTYPE {Empty, NamedValueSz, NamedValueDword, SingleACL,
+ RegKeyACL, Password, ServiceIdentity} PACKETTYPE;
+
+typedef struct
+{
+ HKEY hRoot;
+ TCHAR *szKeyPath;
+ TCHAR *szValueName;
+ TCHAR *szValue;
+} SNamedValueSz, *PNamedValueSz;
+
+typedef struct
+{
+ HKEY hRoot;
+ TCHAR *szKeyPath;
+ TCHAR *szValueName;
+ DWORD dwValue;
+} SNamedValueDword, *PNamedValueDword;
+
+typedef struct
+{
+ HKEY hRoot;
+ TCHAR *szKeyPath;
+ TCHAR *szValueName;
+ SECURITY_DESCRIPTOR *pSec;
+} SSingleACL, *PSingleACL;
+
+
+typedef struct
+{
+ HKEY hKey;
+ HKEY *phClsids;
+ unsigned cClsids;
+ TCHAR *szTitle;
+ SECURITY_DESCRIPTOR *pSec;
+ SECURITY_DESCRIPTOR *pSecOrig;
+} SRegKeyACL, *PRegKeyACL;
+
+
+typedef struct
+{
+ TCHAR *szPassword;
+ CLSID appid;
+} SPassword, *PPassword;
+
+
+typedef struct
+{
+ TCHAR *szServiceName;
+ TCHAR *szIdentity;
+} SServiceIdentity, *PServiceIdentity;
+
+
+class CDataPacket
+{
+ public:
+ CDataPacket(void);
+
+ CDataPacket(HKEY hRoot,
+ TCHAR *szKeyPath,
+ TCHAR *szValueName,
+ TCHAR *szValue);
+
+ CDataPacket(HKEY hRoot,
+ TCHAR *szKeyPath,
+ TCHAR *szValueName,
+ DWORD dwValue);
+
+ CDataPacket(HKEY hRoot,
+ TCHAR *szKeyPath,
+ TCHAR *szValueName,
+ SECURITY_DESCRIPTOR *pSec,
+ BOOL fSelfRelative);
+
+ CDataPacket(HKEY hKey,
+ HKEY *phClsids,
+ unsigned cClsids,
+ TCHAR *szTitle,
+ SECURITY_DESCRIPTOR *pSecOrig,
+ SECURITY_DESCRIPTOR *pSec,
+ BOOL fSelfRelative);
+
+ CDataPacket(TCHAR *szPassword,
+ CLSID apid);
+
+ CDataPacket(TCHAR *szServiceName,
+ TCHAR *szIdentity);
+
+ CDataPacket(PACKETTYPE pktType,
+ HKEY hRoot,
+ TCHAR *szKeyPath,
+ TCHAR *szValueName);
+
+ void ChgSzValue(TCHAR *szValue);
+
+ void ChgDwordValue(DWORD dwValue);
+
+ void ChgACL(SECURITY_DESCRIPTOR *pSec, BOOL fSelfRelative);
+
+ void ChgPassword(TCHAR *szPassword);
+
+ void ChgSrvIdentity(TCHAR *szIdentity);
+
+
+ PACKETTYPE tagType;
+ BOOL fDirty;
+ BOOL fDelete;
+ union
+ {
+ SNamedValueSz nvsz;
+ SNamedValueDword nvdw;
+ SSingleACL acl;
+ SRegKeyACL racl;
+ SPassword pw;
+ SServiceIdentity si;
+ } pkt;
+};
+
+#endif // _DATAPKT_H_