सी # PInvoke में, मैं एक स्ट्रिंग बफर कैसे पास करूं ताकि सी डीएलएल इसे भरता है और लौटाता है? PInvoke घोषणा क्या होगी?सी # स्ट्रिंग घोषणाओं के बाहर PInvoke
सी समारोह घोषणा
int GetData(char* data, int buflength);
सी # में है, मैं इसे
के रूप में घोषित किया है[DllImport(DllName)]
static extern Int32 GetData([MarshalAs(UnmanagedType.LPStr)]StringBuilder receiveddata, Int32 buflen);
यह सही है? मैं स्ट्रिंगबिल्डर परिवर्तक को इस
int bufferLength = 32;
StringBuilder data = new StringBuilder(bufferLength);
int result = GetData(data, bufferLength);
मैं जानना चाहता हूं कि यह सही है या नहीं?
धन्यवाद
यह अगर यह काम करता है सही है। इसका कोई स्पष्ट कारण नहीं है कि इसे काम नहीं करना चाहिए। –