On 06 May 2015, at 12:29 , Nicolai Hess <nicolaihess@web.de> wrote:
2015-05-06 12:10 GMT+02:00 phil@highoctane.be <mailto:phil@highoctane.be> <phil@highoctane.be <mailto:phil@highoctane.be>>: I've loaded your package.
A prerequisite is to load OS-Window to make it work.
I've got the DLL call working nicely and the nativeboost with the structure freezing.
This is because you have a recursive datastructure description, but acutually the IP_ADAPTER_INFO structure is not recursive:
PIP_ADAPTER_INFO class >>fieldsDex ^ #( PIP_ADAPTER_INFO nextVariable; DWORD ComboIndex; CHAR AdapterName; CHAR Description; ....)
The "nextVariable" should be a pointer to the structure.
from MSDN:
struct _IP_ADAPTER_INFO { struct _IP_ADAPTER_INFO *Next; "<- pointer" DWORD ComboIndex; char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]; char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]; UINT AddressLength;
....
Also, the pOutBufLen parameter to GetAdaptorInfo is supposed to be a pointer to an unsigned long, holding the size of the buffer. Setting that to an int in the NB declaration, will cause all sorts of trouble... Cheers, Henry