Manual do PHP
Anterior |  | Próxima

# CXXXI. Funções da W32api

# Introdução

Essa extensão é uma API genérica de extensão para DLLs. Ela era originalmente escrita para permitir acesso à API Win32 a partir do PHP, embora você pode também acessar outras funções exportadas via outras DLLs.

Os tipos atualmente suportados são tipos genéticos do PHP (strings, booleans, floats, inteiros e nulls) e tipos que você define com a função w32api_deftype().

Atenção
Este módulo é EXPERIMENTAL. Isso quer dizer que o comportamento neste módulo --- incluindo suas funções e seus nomes, e TUDO mais que está documentado sobre esse módulo --- poderá mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use este módulo por sua própria conta e risco.

# Dependências

Essa extensão só funciona em sistemas Windows.

# Instalação

Não há nenhuma instalação necessária para utilizar estas funções, elas fazem parte do núcleo do PHP.

# Configurações em execução

Esta extensão não define nenhum parâmetro de configuração no `php.ini`.

# Tipos Resource

Essa extensão define um tipo de recurso, usado por tipo definidos pelo usuário. O nome desse recurso é "dynaparm".

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

`DC_MICROSOFT` (inteiro)

`DC_BORLAND` (inteiro)

`DC_CALL_CDECL` (inteiro)

`DC_CALL_STD` (inteiro)

`DC_RETVAL_MATH4` (inteiro)

`DC_RETVAL_MATH8` (inteiro)

`DC_CALL_STD_BO` (inteiro)

`DC_CALL_STD_MS` (inteiro)

`DC_CALL_STD_M8` (inteiro)

`DC_FLAG_ARGPTR` (inteiro)

# Exemplos

Esse exemplo pega a quantidade de tempo que o sistema está executando e mostra em uma caixa de mensagem.

Exemplo 1. Pega o uptime e mostra em uma caixa de mensagem
`<?php // Define constantes necessárias, pegas do arquivo // Visual Studio/Tools/Winapi/WIN32API.txt define("MB_OK", 0); // Carrega a extensão dl("php_w32api.dll"); // Registra a função GetTickCount de kernel32.dll w32api_register_function("kernel32.dll", "GetTickCount", "long"); // Registra a função MessageBoxA de User32.dll w32api_register_function("User32.dll", "MessageBoxA", "long"); // Pega a informação do uptime $ticks = GetTickCount(); // Converte a informação para um formato de gente $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)); // Mostra uma caixa de mensagem com só um botão de OK e o texto de uptime MessageBoxA(NULL, $str, "Uptime Information", MB_OK); ?>`

Anterior | Principal | Próxima
vpopmail_set_user_quota | Acima | w32api_deftype