ctypesで構造体が作れない

written by SOU1 on

会社で作ってる小物アプリとかWinEFで重大な壁になる問題発生

ctypes for IronPythonのWinAPI用パッチを作ったです - ふにゃるん
http://d.hatena.ne.jp/Wacky/20061203
こちらで公開されているctypes for IronPythonを大変高い頻度で利用させて頂いてるんですが、
引数に構造体を要求された場合に(もっと正確に言えば恐らく構造体のメモリアドレス?ポインタ?)
これを渡す手段がワカラナイ。

1. ctypes本来の使い方としてはStructure基底クラスから構造体を作る
Wackyさんの物でもFepyの物でもStructure基底クラスについては全く触れられてないんですよね……WackyさんのはFepyのパッチという事なのでFepyの物が「Structureは実装していない」でFA?

2. arrayモジュールでarray作成後buffer_infoメソッドからメモリアドレスを得る
これでも恐らくイケると思われるのですが……なんか
<built-in method buffer_info of array object at 0×000000000000002B>
とか出るくせにいざ呼び出すと
NotImplementedError: buffer_info not implemented
(・3・)アルェー IronPythonめ

3. 何か根本的なカンチガイをしている可能性
SOU1さんがCも苦戦するようなトンチキもとい馬鹿なので
ポインタとかそういうモノに対して何か根本的なカンチガイをしていて
実はとても簡単に出来る事を一人で迷路に突入している

ところで件のWackyさんに連絡取れないものかと探してみたのですが
結局はてなのアカウントしか分からず・д・残念
無理してでもarrayのメモリアドレス取れれば何とかならんかなーとか試行錯誤してるんですが、そもそもPythonに明るくないのでもうだめぽ

追伸:動いた


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Author
シスアド業でサラリーマンの傍ら作曲等を行うマルチタスクの申し子。
人当たりの良さと見た目の恐さだけを武器に各業界を渡り歩く若年性健忘症の人。鵜呑みにしたらダメヨ
Categories