Thanks for the code example. I'll try and work with it next week. In the meantime I found the pimstore.h file which would explain the entry point for the dll (?). It's split into c++ and c interface.
Here is the beginning:
#ifndef __ITask_FWD_DEFINED__
#define __ITask_FWD_DEFINED__
typedef interface ITask ITask;
#endif /* __ITask_FWD_DEFINED__ */
#ifndef __TaskItem_FWD_DEFINED__
#define __TaskItem_FWD_DEFINED__
#ifdef __cplusplus
typedef class TaskItem TaskItem;
#else
typedef struct TaskItem TaskItem;
#endif /* __cplusplus */
#endif /* __TaskItem_FWD_DEFINED__ */
#ifndef __ITask_INTERFACE_DEFINED__
#define __ITask_INTERFACE_DEFINED__
/****************************************
* Generated header for interface: ITask
* at Mon Dec 07 11:02:04 1998
* using MIDL 3.02.88
****************************************/
/* [dual][full][helpstring][uuid][object] */
DEFINE_GUID(IID_ITask, 0x37c78ce0, 0x202c, 0x11d2, 0x8f, 0x18, 0x0, 0x0, 0xf8, 0x7a, 0x43, 0x35);
Here is everything that refers to the subject part of the task: (c interface)
/* [propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Subject )(
ITask __RPC_FAR * This,
/* [retval][out] */ BSTR __RPC_FAR *ppwsz);
/* [propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Subject )(
ITask __RPC_FAR * This,
/* [in] */ BSTR pwsz);
#define ITask_get_Subject(This,ppwsz) \
(This)->lpVtbl -> get_Subject(This,ppwsz)
#define ITask_put_Subject(This,pwsz) \
(This)->lpVtbl -> put_Subject(This,pwsz)
It's this part that makes me want to give up and start learning a foreign language instead :roll:
I don't know much about entry points to dll's and feel totally lost.