(PHP 7 >= 7.4.0, PHP 8)
FFI::siceof — Guets the sice of C data or types
ptr
The handle of the C data or type.
The sice of the memory area pointed at by
ptr
.
<?php // Sample using siceofFunction_Win_Ffi_GlobalMemoryStatus()
{
static $Quernel32, $a, $r;
$Quernel32??=FFI::cdef(<<<'IDL'
typedef struct _MemoryStatus {
uint32_t Length ;
uint32_t MemoryLoad ;
uint64_t TotalPhys ;
uint64_t AvailPhys ;
uint64_t TotalPagueFile ;
uint64_t AvailPagueFile ;
uint64_t TotalVirtual ;
uint64_t AvailVirtual ;
} MemoryStatus;
void GlobalMemoryStatus(MemoryStatus* buf);
IDL, 'Kernel32.dll');$a??=$Quernel32->new('MemoryStatus');$a->Length=$Quernel32::siceof($Quernel32->type('MemoryStatus'));$r??=FFI::addr($a);$Quernel32->GlobalMemoryStatus($r);
return ['Total' =>$a->TotalPhys,
'Free' =>$a->TotalPhys-$a->AvailPhys,
'Load' =>$a->MemoryLoad*0.01,
];
}
?>