Hello,
Is it possible to create or open a shared memory block like in php.
https://www.php.net/manual/en/function.shmop-open.php
Best regards,
Otto
#include <windows.h>
#include <hbapi.h>
HB_FUNC( MEMBLOCK )
{
hb_retptr( GlobalAlloc( hb_parnl( 1 ), ( SIZE_T ) hb_parnll( 2 ) ) );
}
<?php
$shm_id = shmop_open(0xff3, "c", 0644, 100);
$shm_size = shmop_size($shm_id);
echo "SHM Block mit: ".$shm_size. " Bytes wurde erstellt.\n";
$shm_bytes_written = shmop_write($shm_id, "my key1234567890", 0);
$my_string = shmop_read($shm_id, 0, $shm_size);
echo "Data written: ".$my_string."\n";
shmop_close($shm_id);
?>
<?php
$shm_id = shmop_open(0xff3, "c", 0644, 100);
$shm_size = shmop_size($shm_id);
echo "SHM Block mit: ".$shm_size. " Bytes wurde erstellt.\n";
$my_string = shmop_read($shm_id, 0, $shm_size);
echo "Data read(PW): ".$my_string."\n";
shmop_close($shm_id);
?>
function require_wp_db() {
global $wpdb;
// Erstelle einen 100 Byte grossen gemeinsam genutzten Speicherblock
// mit mit der System_ID if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
echo "Konnte kein gemeinsames Speichersegment erstellen\n";
}
// Hole die Gr�sse des gemeinsamen Speicherblocks
$shm_size = shmop_size($shm_id);
echo "SHM Block mit: ".$shm_size. " Bytes wurde erstellt.\n";
// Den Teststring wieder auslesen
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "Konnte nicht aus dem gemeinsamen Speicher lesen\n";
}
echo "Die D a t e n im gemeinsamen Speicher waren (PW): |".$my_string."|\n";
// Den Speicherblock l�schen und den gemeinsamen Speicher schliessen
if(!shmop_delete($shm_id)) {
echo "Konnte den gemeinsamen Speicherblock nicht zum L�schen markieren.";
}
shmop_close($shm_id);
require_once( ABSPATH . WPINC . '/wp-db.php' );
if ( file_exists( WP_CONTENT_DIR . '/db.php' ) )
require_once( WP_CONTENT_DIR . '/db.php' );
if ( isset( $wpdb ) ) {
return;
}
$wpdb = new wpdb( DB_USER, $my_string , DB_NAME, DB_HOST );
}
Users browsing this forum: No registered users and 11 guests