Python3 から ctypes を用いて、dll の関数に const char * の文字列を渡したいです。
どのようにすればいいのかご教示ください。
環境
- Windows 10 x64
- Python 3.7.4
参考情報
1. 仕様書上の関数宣言
short hoge_func(const char *host);
2. C言語での例
同梱されているCのサンプルでは以下のようになっていました。
HOGEAPI short WINAPI hoge_func( const char * );
ret = hoge_func("127.0.0.1");
3. C#での例
同梱されているC#のサンプルでは以下のようになっていました。
[DllImport("hoge.dll", EntryPoint="hoge_func")] public static extern short hoge_func( [In,MarshalAs(UnmanagedType.AsAny)] Object host);
ret = api.hoge_func("127.0.0.1");
現状のPythonスクリプト
python
1from ctypes import * 2 3~略~ 4 5api = cdll.LoadLibrary("./hoge.dll") 6 7response = api.hoge_func( 8 host=#ここにどう入れたらよいのか知りたい そのまま"文字列"を入れても動かない 9)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。