Seems I have to translate the C++ code, including classes and interfaces, into C# and use some kind of dllimport?
You can save time and effort and use a tool named SWIG, (Sourceforge project page) to generate c# code that generate dllimport.
How to use:
Download SWig for windows
Create c++ header file that represent StartXpsPrintJob1 , name the file xpsheader.h
create interface file e.g example.i
%module example
%{
/* Includes the header in the wrapper code */
#include "xpsheader.h"
%}
/* Parse the header file to generate wrappers */
%include "xpsheader.h"
Run the command:
swig -csharp example.i
The tool generate punch of files with one file named examplePINVOKE.cs
In fact, it is important to know that SWIG is a fairly complete C++ compiler with support for nearly every language feature. This includes preprocessing, pointers, classes, inheritance, and even C++ templates. SWIG can also be used to package structures and classes into proxy classes in the c# target language---exposing the underlying functionality in a very natural manner.