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

# CXV. W32api関数

# 導入

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

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

警告
このモジュールは、 実験的なものです。これは、これらの関数の動作、関 数名は、このドキュメントに書かれて事項と同様に告知なく将来的な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
// Define constants needed, taken from
// Visual Studio/Tools/Winapi/WIN32API.txt
define("MB_OK", 0);
// Load the extension in
dl("php_w32api.dll");
// Register the GetTickCount function from kernel32.dll
w32api_register_function("kernel32.dll",
"GetTickCount",
"long");
// Register the MessageBoxA function from User32.dll
w32api_register_function("User32.dll",
"MessageBoxA",
"long");
// Get uptime information
$ticks = GetTickCount();
// Convert it to a nicely displayable text
$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));
// Display a message box with only an OK button and the uptime text
MessageBoxA(NULL,
$str,
"Uptime Information",
MB_OK);
?>`

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