Fix RPC error 1702 when calling a WinAPI method from a batch job

Category: Stories Post Date: 14.06.2016

You may get the error “RPC error: RPC exception 1702 occurred in session xxx” in the Windows Event Log when some batch job is running. The error details are “The binding handle is invalid”. You can find the list of RPC errors here. This error is thrown because methods those are supposed to be executed on client actually were called on server in the batch mode.

Here is an example:

{{ client static boolean folderExists(Filename _filename)
{
boolean ret;
ret = System.IO.Directory::Exists(_filename);
return ret;
} }}

To fix that error you have to skip “client” and modify your code so it can be executed on server.

{{
InteropPermission interopPerm;
boolean isFolderExist;
;
interopPerm = new InteropPermission(InteropKind::ClrInterop);
interopPerm.assert();
isFolderExist = System.IO.Directory::Exists(@"c:\temp\");
if(isFolderExist)
{ info("Folder exists"); } else { info("Folder does not exists"); } CodeAccessPermission::revertAssert();}
}

Leave a Reply

Your email address will not be published. Required fields are marked *