Some of our users are getting this exception sometimes (not for every contact):
System.Runtime.InteropServices.COMException (0x800706BE):
The remote procedure call failed. (Exception from HRESULT: 0x800706BE)
at Microsoft.Office.Interop.Outlook._ContactItem.get_LastName()
This happens when we're trying to get the last name of a contact (of the ContactItem
type).
Does anybody know what the problem is?
Any help would be appreciated. Thanks!
It is a Windows error, facility code 7. The last word gives the Windows error, 0x6be == 1726:
// MessageId: RPC_S_CALL_FAILED
//
// MessageText:
//
// The remote procedure call failed.
//
#define RPC_S_CALL_FAILED 1726L
Interop with Office programs like Outlook happens through out-of-process COM. RPC is the low-level Remote Procedure Call mechanism. There are several reasons for such a remote call to fail. Both the error code and the error name google well.
The simplest explanation is just that Outlook fell over. That happens. The advantage of in-process interop is that when the host program crashes then it will take out your code as well. Not in an out-of-process scenario, you just get a hard to diagnose error. Ask your customer's IT staff to use their typical Office troubleshooting strategies.