ネイティブコードのサンプル関数があります
HRESULT getSampleFunctionValue(_Out_ LPWSTR * argument)
この関数は、引数の値を出力します。マネージド コードから呼び出す必要があります
[DllImport("MyDLL.dll", EntryPoint = "getSampleFunctionValue", CharSet = CharSet.Unicode)]
static extern uint getSampleFunctionValue([MarshalAsAttribute(UnmanagedType.LPWStr)] StringBuilder argument);
これはガベージ値を返します。私の知る限り、元の C 関数は CoTaskMemAlloc を使用して文字列を作成しません。正しい呼び方は?
どんな助けでも大歓迎です。