私はネイティブDLLライブラリをDelphiで書いています。私はこのlibをC#から参照し、返された文字列を取得したいと思います。ネイティブDLL - C#
機能
function GetCode (aUser,aPassword: PAnsiChar): PAnsiChar; stdcall;
C#コード
[DllImport("C:\\library.dll", CallingConvention = CallingConvention.StdCall,
CharSet = CharSet.Ansi)]
private static extern String GetCode([MarshalAs(UnmanagedType.LPStr)]string aUser, [MarshalAs(UnmanagedType.LPStr)]string aPassword);
public String getCode(String login, String password) {
return GetCode(login, password);
}
コード-1073740940(0xc0000374)とコール機能アプリケーション終了を試します。
期限がありますか?助けてくれてありがとう
1.デバッガでこれを呼び出すときに、適切な例外メッセージが表示されますか? 2.関数がエクスポートされていますか? 3.関数名が変更されていますか? 4.あなたはどのように戻り値を解放することになっていますか? –
1.いいえ、アプリケーションはNTSTATUSエラーコードで終了します。 2.そうです。それ以外の場合は、管理例外が発生しています。 3. 2を参照してください。4.非常に良い質問! –
あなたは正しいです@DavidHeffernan、私はまず0xc0000374のためにグーグルをしていたはずです。 (私はOPがデバッガの下で実行されないことによってOPが管理された例外を逃していないことを確かめたかったです) –