PHP マニュアル
前のページ |  | 次のページ

# CLXII. W32api 関数

# 導入

この拡張モジュールは、DLL への一般的な拡張 API です。この拡張モジュールは もともと PHP から Win32 API にアクセスできるようにするために 作成されましたが、他の DLL によりエクスポートされている他の関数にも アクセスすることができます。

現在サポートされている型は、一般の PHP 型 (文字列, boolean, float, 整数, NULL) と w32api_deftype() で定義した型です。

> 注意: この拡張モジュールは PECL レポジトリに移動 されており、以下のバージョン以降 PHP にバンドルされなくなっています。 PHP 5.1.0.

警告
この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

# 要件

この拡張モジュールは Windows システムでのみ動作します。

# インストール手順

PHP コアに含まれるため、 追加のインストール無しで使用できます。

# 実行時設定

設定ディレクティブは定義されていません。

# リソース型

この拡張モジュールは 1 種類のリソース型を定義し、ユーザ定義型で 使用されます。このリソースの名前は "dynaparm" です。

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`DC_MICROSOFT` (integer)

`DC_BORLAND` (integer)

`DC_CALL_CDECL` (integer)

`DC_CALL_STD` (integer)

`DC_RETVAL_MATH4` (integer)

`DC_RETVAL_MATH8` (integer)

`DC_CALL_STD_BO` (integer)

`DC_CALL_STD_MS` (integer)

`DC_CALL_STD_M8` (integer)

`DC_FLAG_ARGPTR` (integer)

# 例

以下の例は、システムの実行時間を取得し、メッセージボックスに 表示するものです。

例 1. uptime を取得し、メッセージボックスに表示する
`<?php // 必要な定数を定義します。これは // Visual Studio/Tools/Winapi/WIN32API.txt から取得できます。 define("MB_OK", 0); // 拡張モジュールを読み込みます。 dl("php_w32api.dll"); // kernel32.dll の GetTickCount 関数を登録します。 w32api_register_function("kernel32.dll", "GetTickCount", "long"); // User32.dll の MessageBoxA 関数を登録します。 w32api_register_function("User32.dll", "MessageBoxA", "long"); // uptime 情報を取得します。 $ticks = GetTickCount(); // それを読みやすい形式に変換します。 $secs = floor($ticks / 1000); $mins = floor($secs / 60); $hours = floor($mins / 60); $str = sprintf("You have been using your computer for:" . "\r\n %d Milliseconds, or \r\n %d Seconds" . "or \r\n %d mins or\r\n %d hours %d mins.", $ticks, $secs, $mins, $hours, $mins - ($hours*60)); // OK ボタンと uptime のみのメッセージボックスを表示します。 MessageBoxA(NULL, $str, "Uptime Information", MB_OK); ?>`

前のページ | ホーム | 次のページ
vpopmail_set_user_quota | 上に戻る | w32api_deftype