Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Add-ins for Outlook (http://www.outlookbanter.com/add-ins-outlook/)
-   -   C# Error when calling MAPI.Session.Logon() (http://www.outlookbanter.com/add-ins-outlook/75334-c-error-when-calling-mapi.html)

Johan Machielse July 17th 08 02:26 PM

C# Error when calling MAPI.Session.Logon()
 
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade



Ken Slovak - [MVP - Outlook] July 17th 08 06:30 PM

C# Error when calling MAPI.Session.Logon()
 
First of all CDO 1.21 is not supported for use with any managed code, so if
it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first 2
arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade




Johan Machielse[_2_] July 17th 08 08:00 PM

C# Error when calling MAPI.Session.Logon()
 
Ken,

thank you for your quick answer, but now if you want to create an add-in for
Outlook 2003/2007 which changes the color labels of the appointments in a
calendar, what is than the best way to solve this (I want to use .NET to
create the plug-in, but CDO 1.21 is not supported...)?

Thank you in advance,

Johan Machielse
Avanade



"Ken Slovak - [MVP - Outlook]" wrote:

First of all CDO 1.21 is not supported for use with any managed code, so if
it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first 2
arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade





Dmitry Streblechenko July 18th 08 01:11 AM

C# Error when calling MAPI.Session.Logon()
 
Or, better yet, set Session.MAPIOBJECT property to Namespace.MAPIOBJECT from
OOM to make sure CDO 1.21 and Outlook share the same MAPI session.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"Ken Slovak - [MVP - Outlook]" wrote in message
...
First of all CDO 1.21 is not supported for use with any managed code, so
if it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first
2 arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade






Dmitry Streblechenko July 18th 08 01:13 AM

C# Error when calling MAPI.Session.Logon()
 
Outlook 2007 exposes AppointmentItem.PropertyAccessor object that lets you
set MAPI properties.
In the older versions of Outlook you will need to use Extended MAPI or CDO
1.21 (neither is supported in .Net) or plug Redemption (url below) /plug

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"Johan Machielse" wrote in
message ...
Ken,

thank you for your quick answer, but now if you want to create an add-in
for
Outlook 2003/2007 which changes the color labels of the appointments in a
calendar, what is than the best way to solve this (I want to use .NET to
create the plug-in, but CDO 1.21 is not supported...)?

Thank you in advance,

Johan Machielse
Avanade



"Ken Slovak - [MVP - Outlook]" wrote:

First of all CDO 1.21 is not supported for use with any managed code, so
if
it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first
2
arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade







Johan Machielse[_2_] July 18th 08 10:40 AM

C# Error when calling MAPI.Session.Logon()
 
Hi Ken,

I figured out what how the Logon method has to be called:

mapiSession.Logon("Default Outlook Profile",
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value);
It works!

Regards,

Johan Machielse
Avanade

"Ken Slovak - [MVP - Outlook]" wrote:

First of all CDO 1.21 is not supported for use with any managed code, so if
it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first 2
arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade





Ken Slovak - [MVP - Outlook] July 18th 08 01:57 PM

C# Error when calling MAPI.Session.Logon()
 
You seem to have it solved now, but for things like that I use the
Redemption library that Dmitry mentioned in his post. It does everything CDO
did and a whole lot more.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" wrote in
message ...
Ken,

thank you for your quick answer, but now if you want to create an add-in
for
Outlook 2003/2007 which changes the color labels of the appointments in a
calendar, what is than the best way to solve this (I want to use .NET to
create the plug-in, but CDO 1.21 is not supported...)?

Thank you in advance,

Johan Machielse
Avanade



Dmitry Streblechenko July 18th 08 06:28 PM

C# Error when calling MAPI.Session.Logon()
 
That will break if the user has more than one profile and a non-default
profiel is used.
Setting the MAPIOBJECT property (Outlook 2002 and up) will work much better.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"Johan Machielse" wrote in
message ...
Hi Ken,

I figured out what how the Logon method has to be called:

mapiSession.Logon("Default Outlook Profile",
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value);
It works!

Regards,

Johan Machielse
Avanade

"Ken Slovak - [MVP - Outlook]" wrote:

First of all CDO 1.21 is not supported for use with any managed code, so
if
it doesn't work then you won't get any help.

That said, you could try using null strings instead of null for the first
2
arguments to Logon().

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Johan Machielse" Johan wrote in
message ...
Dear reader,

See next piece of code (written in C#):

MAPI.Session mapiSession = new MAPI.Session();
mapiSession.Logon(null, null, false, false, 0, false, "");

The call mapiSession.Logon() throws the following exception:
[Collaboration Data Objects - [E_INVALIDARG(80070057)]

What can I do to solve this problem; which arguments do I have to pass?

Thank you in advance,

Johan Machielse
Avanade








All times are GMT +1. The time now is 12:28 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com