पर सी # स्ट्रिंग पास करना मेरे पास एक साधारण एप्लिकेशन है जो एक अप्रबंधित डीएलएल लोड करता है और सी # से कुछ स्ट्रिंग मान पास करता है। लेकिन सी ++ डीएलएल एप्लिकेशन में, मुझे एक अपवाद प्राप्त होता है :: पढ़ने/लिखने की सुरक्षित मेमोरी तक पहुंचने का प्रयास किया जाता है। मेरे DLL आयात इस तरह दिखता है:अप्रबंधित सी ++ डीएलएल
[DllImport("X.dll", CallingConvention = CallingConvention.Cdecl) ]
public static extern int
DumpToDBLogFile([MarshalAs(UnmanagedType.I4)]int loggingLevel,
[MarshalAs(UnmanagedType.I4)]int jobId,
int threadId,
[MarshalAs(UnmanagedType.LPStr)]string procName,
[MarshalAs(UnmanagedType.LPStr)]string message);
और सी ++ घोषणा
extern "C"
__declspec(dllexport) int DumpToDBLogFile(int loggingLevel, int jobId, int threadId, string procName, string message)
{
//access strings..
}
सहायता कृपया की तरह है !!!
सी ++ में कोड लगता है सी # में ढेर तक पहुंचने में सक्षम नहीं है। – Kangkan