![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
Hi.
I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
Ads |
#2
|
|||
|
|||
![]()
Is your form implemented in a separate exe or a dll?
Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
#3
|
|||
|
|||
![]()
It is implemented in a separate exe.
Dmitry Streblechenko wrote: Is your form implemented in a separate exe or a dll? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
#4
|
|||
|
|||
![]()
Try to move the implementation to a dll to make sure it is loaded in-proc:
IMAPISession has a few bugs when it comes to marshalling - profile sections and ACLs are the two major problems (to be fixed in Outlook 2007). Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message oups.com... It is implemented in a separate exe. Dmitry Streblechenko wrote: Is your form implemented in a separate exe or a dll? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
#5
|
|||
|
|||
![]()
Thanks for the answer. Moving it to an in-proc dll is probably not an
option right now, but it is nice to know that it will be fixed in the next version of Outlook. Nice having you around! Regards, Lars Dmitry Streblechenko wrote: Try to move the implementation to a dll to make sure it is loaded in-proc: IMAPISession has a few bugs when it comes to marshalling - profile sections and ACLs are the two major problems (to be fixed in Outlook 2007). Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message oups.com... It is implemented in a separate exe. Dmitry Streblechenko wrote: Is your form implemented in a separate exe or a dll? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
#6
|
|||
|
|||
![]()
I obviously don't know how your code is structured, but you can combine the
ECE and the custom form implementation in the same dll. One less executable, plus you can easily make the ECE and the MAPI form parts to interact with each other through the global variables. Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Thanks for the answer. Moving it to an in-proc dll is probably not an option right now, but it is nice to know that it will be fixed in the next version of Outlook. Nice having you around! Regards, Lars Dmitry Streblechenko wrote: Try to move the implementation to a dll to make sure it is loaded in-proc: IMAPISession has a few bugs when it comes to marshalling - profile sections and ACLs are the two major problems (to be fixed in Outlook 2007). Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message oups.com... It is implemented in a separate exe. Dmitry Streblechenko wrote: Is your form implemented in a separate exe or a dll? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
#7
|
|||
|
|||
![]()
That is clearly the way I want to go, but the product I am developing
is more than 10 years old, thus it is not a trivial task. I hope to get there and to get rid of a lot of problems related to having several processes. Dmitry Streblechenko wrote: I obviously don't know how your code is structured, but you can combine the ECE and the custom form implementation in the same dll. One less executable, plus you can easily make the ECE and the MAPI form parts to interact with each other through the global variables. Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Thanks for the answer. Moving it to an in-proc dll is probably not an option right now, but it is nice to know that it will be fixed in the next version of Outlook. Nice having you around! Regards, Lars Dmitry Streblechenko wrote: Try to move the implementation to a dll to make sure it is loaded in-proc: IMAPISession has a few bugs when it comes to marshalling - profile sections and ACLs are the two major problems (to be fixed in Outlook 2007). Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message oups.com... It is implemented in a separate exe. Dmitry Streblechenko wrote: Is your form implemented in a separate exe or a dll? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Lars Iversen" wrote in message ups.com... Hi. I take part in developing an exchange client extension for Outlook based on extended MAPI. The application extends Outlook with commands, a new message class and a form, uses advise sinks to listen to folders for events, adds and removes message stores from the profile, etc. I use VS2005 on different platforms. Inside my implementation of IExchExt::Install, the extension accesses the (outlook) profile, and adds and removes message stores as described in http://support.microsoft.com/?kbid=171636. No problem, works fine. However, when I try to access the profile in much the same way (just for reading purposes) from my implementation of IPersistMessage::InitNew, it fails. More specifically, IMsgServiceAdmin::AdminProviders returns 0x80010104 (RPC could not call the server or could not return the result of calling the server). I have included pseudo code below. Any clue of what is going wrong? Regards, Lars STDMETHODIMP MyForm::InitNew(IMAPIMessageSite* site, IMessage*) { CComPtrIMAPISession session; site-GetSession(&session.p); CComPtrIMsgServiceAdmin messageServiceAdministration; session-AdminServices(0, &messageServiceAdministration.p); CComPtrIMAPITable table; messageServiceAdministration.GetMessageServiceTabl e(0, &table.p); MAPIUID uid = ...; // the uid in the table with PR_SERVICE_NAME = 'MSEMS' CComPtrIProviderAdmin providerAdmin; HRESULT hr = messageServiceAdministration-AdminProviders(&uid, 0, &providerAdmin.p); // hr has the value 0x80010104 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Pfbackup.exe fails to install | Howard Sartori | Outlook - Installation | 1 | July 9th 06 08:00 PM |
Powerpoint Viewer Fails | Patrick | Outlook - Installation | 1 | April 12th 06 09:23 PM |
Outlook fails to load | Cocajola | Outlook - Using Forms | 0 | March 15th 06 09:27 AM |
Outlook Startup fails | Tomk | Outlook - Installation | 0 | March 3rd 06 03:41 PM |
iCal import fails | Otto | Outlook - Calandaring | 3 | March 1st 06 03:12 PM |