CURL.LANGUAGE.DLL-INTERFACE (パッケージ)

外部 DLL とのインターフェイスのサポート

説明

このパッケージには、潜在的に安全でない API が含まれている可能性があります。誤って使用した場合、メモリの損傷やプログラムのクラッシュを引き起こしたり、システム セキュリティを危険にさらしたりする可能性があります。したがって、このパッケージを使用できるのは、特権プロセスに限られます。直接または間接的に、非特権プロセスからこのパッケージをインポートしようとすると、エラーが発生します。予測外に誤使用する可能性が高いため、Curl で対象タスクを実行する方法が他にない場合に限り、最終手段として、これらの API を使用します。
このパッケージには、外部 DLL および共用ライブラリに含まれるプロシージャにアクセスするための、プロキシ クラスを定義する API が含まれます。
これらインターフェイスで使用するいくつかの特別なデータ型を提供します。
データ型を確認する関数 :
直接メモリにアクセスするための関数:
コールバックで使用する関数 :
次の内容も参照してください。

curl://install/docs/default/examples/dguide/dll-interface.zip. で見られるようないくつかの実行可能な例があります。これらの例には次のものがあります。
message-box.curl
簡単に利用できる Windows MessageBox 関数へのインターフェイスを作成する、define-dll-class の使用法を示しています。この例は Windows プラットフォームでのみ機能します。
choose-color.curl
Windows ChooseColor 関数へのインターフェイスを作成する define-C-struct および define-dll-class の使用法を示しています。ダイアログがアクティブな間にアプレットの表示を再ペイントする方法も示しています。この例は Windows プラットフォームでのみ機能します。
MD5.curl
MD5 メッセージ ダイジェストを計算する Windows および Unix 関数へのインターフェイスを作成するための define-dll-class の使用法を示しています。また、オペレーティング システム固有の API の相違点をカバーするための技術も示しています。
この例は、プロダクション環境での使用は想定していません。これらの例で使用される外部関数は、比較的単純でほとんどの開発者のコンピュータで使用可能です。ただし、それぞれのケースで、同様の機能を実装する場合はCurl で直接それを実装する方が適切です。
この .zip ファイルの使用に関する詳細情報については、「内容の充実したサンプル」を参照してください。
パッケージ メンバ:
CArray-of
define-C-struct
define-dll-class
dll-method
get-object-containing-address
safe-to-allocate?
safe-to-dispatch?
unsafe-memory-get
unsafe-memory-set