$a=DllStructCreate('byte[4]') DllStructSetData($a,1,Binary('0xFFFFFFFF')) DllStructSetData($a,1,Binary('0xAABB'),2) MsgBox(0,"",DllStructGetData($a,1)) ;result=0xFFAAFFFF
I expected 0xFFAABBFF. What am I doing wrong?
Posted 07 November 2009 - 09:47 AM
$a=DllStructCreate('byte[4]') DllStructSetData($a,1,Binary('0xFFFFFFFF')) DllStructSetData($a,1,Binary('0xAABB'),2) MsgBox(0,"",DllStructGetData($a,1)) ;result=0xFFAAFFFF
Posted 07 November 2009 - 11:27 AM
evilertoaster, on 07 November 2009 - 08:47 AM, said:
$a=DllStructCreate('byte[4]') DllStructSetData($a,1,Binary('0xFFFFFFFF')) DllStructSetData($a,1,Binary('0xAABB'),2) MsgBox(0,"",DllStructGetData($a,1)) ;result=0xFFAAFFFF
This post has been edited by martin: 07 November 2009 - 11:29 AM
Posted 07 November 2009 - 11:40 AM
ProgAndy, on 07 November 2009 - 09:54 AM, said:
$a=[url="../autoit3/docs/functions/DllStructCreate.htm"]DllStructCreate[/url]('byte[4]') DllStructSetData($a,1,('0xFFFFFFFF')) DllStructSetData($a,1,0xAABB,2);I expect 0xBB to be written and it is MsgBox(0,"",DllStructGetData($a,1))
$a=DllStructCreate('byte[4]') DllStructSetData($a,1,Binary('0xFFFFFFFF')) DllStructSetData($a,1,Number(Binary('0xAABB')),2);I expect 0xBB to be written and it is MsgBox(0,"",DllStructGetData($a,1))
$a=DllStructCreate('byte[4]') DllStructSetData($a,1,Binary('0xFFFFFFFF')) DllStructSetData($a,1,Binary('0xBB'),2);range of element not exceeded MsgBox(0,"",DllStructGetData($a,1))
This post has been edited by martin: 07 November 2009 - 11:46 AM
Posted 07 November 2009 - 08:18 PM
DllStructSetData($a,1,Binary('0xFFFFFFFF'),1)
DllStructSetData($a,1,Binary('0xFFFFFFFF'))
Posted 07 November 2009 - 08:54 PM
DllStructSetData($a,1,number(binary('0xAABB')),2
DllStructSetData($a,1,binary('0xAABB'),2)
DllStructSetData($a,1,0xAABB,2)
This post has been edited by evilertoaster: 07 November 2009 - 08:55 PM
Posted 07 November 2009 - 10:12 PM
evilertoaster, on 07 November 2009 - 07:54 PM, said:
DllStructSetData($a,1,number(binary('0xAABB')),2
DllStructSetData($a,1,binary('0xAABB'),2)
DllStructSetData($a,1,0xAABB,2)
$a=DllStructCreate('byte[4]') $b = dllstructcreate('int',dllstructgetptr($a)) $c = dllstructcreate("align1;byte;short;byte",dllstructgetptr($a)) DllStructSetData($b,1,0x12345678) dllstructsetdata($c,2,0xAABB) $g = dllstructgetdata($b,1); msgbox(262144,"result is","0x" & Hex($g) )
This post has been edited by martin: 07 November 2009 - 10:13 PM
Posted 07 November 2009 - 10:27 PM
This post has been edited by AndyG: 07 November 2009 - 10:36 PM
Posted 07 November 2009 - 11:59 PM
Quote
$ a=DllStructCreate('byte[4]') ;<someMemAdr> : [0x00,0x00,0x00,0x00] DllStructSetData($a,1,Binary(0x12345678)) ;<someMemAdr> : [0x12,0x34,0x56,0x78] DllStructSetData($a,1,binary(0xAABB),2) ;<someMemAdr> : [0x12,0xAA,0xBB,0x78] MsgBox(0,"",DllStructGetData($a,1))
#include <iostream> #include <string.h> using namespace std; int main() { unsigned char structBytes[7]={43,43,43,43,43,43,0}; //0x2b2b2b2b2b00 -> "+++++\n" unsigned char setBytes[2]={85,85}; //0x5555 -> "UU" memcpy(&structBytes[2],setBytes,2); cout<<structBytes; //"++UU++" as expected cout<<endl; system("Pause"); int a; }
Quote
Posted 08 November 2009 - 12:50 AM
BYTE bTest[4] = {0x12, 0x34, 0x56, 0x78}; BYTE *bPtr = bTest;
DWORD dwVal = *((DWORD *)bTest); cout << dwVal << endl;
0x00010000 12 0x00010001 34 0x00010002 56 0x00010003 78
Posted 08 November 2009 - 01:30 AM
evilertoaster, on 07 November 2009 - 11:59 PM, said:
This post has been edited by AndyG: 08 November 2009 - 01:31 AM
Posted 08 November 2009 - 02:01 AM
Quote
Quote
Quote
$a=DllStructCreate('byte[9]') DllStructSetData($a,1,Binary('0x112233445566778899'))
DllStructSetData($a,1,Binary('0x112233445566778899'),1)
DllStructSetData($a,1,Binary('0x112233445566778899'))
Posted 08 November 2009 - 02:27 AM
char* something[5] = {'a', 'b', 'c', 'd'}; // Implicitly but to illustrate something[0] = (byte)0x12345678 // is not the same as char* somethingelse[] = "string";
int values[2]; value[0] = 0; // is just setting an int's value like int val = 0;
This post has been edited by Authenticity: 08 November 2009 - 02:35 AM
Posted 08 November 2009 - 03:27 AM
Quote
Posted 08 November 2009 - 03:42 AM
$char = DllStructCreate("char[10]") DllStructSetData($char, 1, "abcd") ConsoleWrite(DllStructGetData($char, 1) & @CRLF) $short = DllStructCreate("short[2]") DllStructSetData($short, 1, 0x10001000) ConsoleWrite(DllStructGetData($short, 1, 1) & @TAB & DllStructGetData($short, 1, 2) & @CRLF) ConsoleWrite(DllStructGetData($short, 1) & @CRLF)
Posted 08 November 2009 - 03:49 AM
This post has been edited by AndyG: 08 November 2009 - 03:55 AM
Posted 08 November 2009 - 04:12 AM
Quote
Posted 08 November 2009 - 04:32 AM
Posted 08 November 2009 - 04:50 AM
Posted 08 November 2009 - 09:30 AM
Quote