Appendix C:
Max でのネイティブな Windows API の使用

Max エクスターナルの中からの Windows API の任意の使用を妨げるものはありません。しかし、Max の内部的な表現による若干のデータは、Windows が解釈できるような形に変換する必要があることがあります。その1つの例は、Max サーチパス、または、Max オープンファイルダイアログを経由したファイルの探索です。これを Windows のフォーマットに変換する方法は “filebyte”サンプルプロジェクトで示しています。このプロジェクトでは、ディスク上のファイルにアクセスする手段として、Max のクロスプラットフォームによるもの、および Windows 独自の方法によるものの両方について例示しています。クロスプラットフォームのアプローチでは、ディスクのオープンのために Sysfile API を使っています。Windows 独自の方法によるアプローチでは、Max の関数 path_nameconform を使って、Max のファイル名とパスの組み合わせを、Windows スタイルのパス指定子に変換して、Windows CreateFile の呼出しを通してオープンしています。もう1つの例として、Max ウィンドウ、あるいはpatcher オブジェクトから HWND を得る場合が挙げられます。これによって、描画をしたり、何かの操作を行うことが可能になります。 “xgui”サンプルプロジェクトでは、patcher_gethwnd 関数を用いてこれを行い、HWND での描画を実行する方法が示されています。また、このサンプルでは、比較のために QuickDraw によって同様のことを行う例も示しています(Macintosh および QTMLに基づいたコードがあります)。アクセスが必要な、他のネイティブなデータ構造体を見つけたり、Max が特定の Windows 独自の呼出しを妨げているようである場合は、こちらへ知らせて下さい。 maxsdk@cycling74.com.