diff options
author | George Hazan <george.hazan@gmail.com> | 2013-08-30 18:38:04 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-08-30 18:38:04 +0000 |
commit | 2c73bb570b16ed862a3e28e263198273d4591074 (patch) | |
tree | 00fc4fb0d941aefebe955a25ae55fbca29325bd0 /plugins/ShellExt/src/shlcom.h | |
parent | a2d94febd339707a08bcfe02b995f26d71e8cf13 (diff) |
COM-related code rearranged
git-svn-id: http://svn.miranda-ng.org/main/trunk@5889 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/ShellExt/src/shlcom.h')
-rw-r--r-- | plugins/ShellExt/src/shlcom.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/plugins/ShellExt/src/shlcom.h b/plugins/ShellExt/src/shlcom.h index ab0f337fe7..c4b24ac6fd 100644 --- a/plugins/ShellExt/src/shlcom.h +++ b/plugins/ShellExt/src/shlcom.h @@ -40,6 +40,9 @@ #define HIPC_NOICONS 1
+#define IPC_PACKET_SIZE (0x1000 * 32)
+#define IPC_PACKET_NAME "m.mi.miranda.ipc.server"
+
/////////////////////////////////////////////////////////////////////////////////////////
struct TGroupNode
@@ -114,9 +117,9 @@ struct THeaderIPC /////////////////////////////////////////////////////////////////////////////////////////
-struct TShlComRec : public IShellExtInit, public IContextMenu3
+struct TShellExt : public IShellExtInit, public IContextMenu3, public MZeroedObject
{
- TShlComRec();
+ TShellExt();
ULONG RefCount;
// this is owned by the shell after items are added 'n' is used to
@@ -158,7 +161,7 @@ struct TShlComRec : public IShellExtInit, public IContextMenu3 struct TEnumData
{
- TShlComRec *Self;
+ TShellExt *Self;
// autodetected, don't hard code since shells that don't support it
// won't send WM_MEASUREITETM/WM_DRAWITEM at all.
@@ -172,6 +175,20 @@ struct TEnumData DWORD pid; // sub-unique value used to make work object name
};
+struct TClassFactoryRec : public IClassFactory
+{
+ TClassFactoryRec();
+
+ LONG RefCount;
+
+ HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
+ ULONG STDMETHODCALLTYPE AddRef(void);
+ ULONG STDMETHODCALLTYPE Release(void);
+
+ HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject);
+ HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
+};
+
/////////////////////////////////////////////////////////////////////////////////////////
enum TSlotDrawType {dtEntry = 0x01, dtGroup = 0x02, dtContact = 0x04, dtCommand = 0x08 };
@@ -205,3 +222,5 @@ void ipcFixupAddresses(BOOL FromServer, THeaderIPC *pipch); TGroupNode* AllocGroupNode(TGroupNodeList *list, TGroupNode *Root, int Depth);
TGroupNode* FindGroupNode(TGroupNode* p, const DWORD Hash, int Depth);
+
+char* CreateProcessUID(int pid, char *buf, size_t bufLen);
|