ich möchte gerne eine DLL einbinden also Funktionen daraus nutzen. Dazu benötige ich wahrscheinlich OT4XB, oder?
Mein Ansatz wäre in etwa:
Code: Alles auswählen
#include "DLL.ch"
#include "ot4xb.ch"
FUNCTION testCM()
LOCAL xRet
xRet:=CmAccess(CM_ACCESS_LAN_LOCAL, @cmAcc);
Return xRet
DLLFUNCTION CmAccess(n, @cmAcc) ;
USING STDCALL FROM WibuCM32.DLL
Code: Alles auswählen
typedef struct __CMBOXINFO {
CMBYTE mbMajorVersion;
CMBYTE mbMinorVersion;
CMUSHORT musBoxMask;
CMULONG mulSerialNumber;
CMUSHORT musBoxKeyId;
CMUSHORT musUserKeyId;
CMBYTE mabBoxPublicKey[CM_PUBLIC_KEY_LEN];
CMBYTE mabSerialPublicKey[CM_PUBLIC_KEY_LEN];
CMULONG mulReserve;
} CMBOXINFO;
typedef struct CMACCESS {
CMULONG mflCtrl; 1
CMULONG mulFirmCode; 2
CMULONG mulProductCode; 3
CMULONG mulFeatureCode; 4
CMULONG mulUsedRuntimeVersion; 5
CMULONG midProcess; 6
CMUSHORT musProductItemReference; 7
CMUSHORT musSession; 8
unsigned char mabIPv4Address[4];
CMBOXINFO mcmBoxInfo;
} ;
So in etwa (die noch falschen Datentypen sind mir bewusst)?
Code: Alles auswählen
BEGIN STRUCTURE __CMACCESS
MEMBER LONG mflCtrl
MEMBER LONG mulFirmCode
MEMBER LONG mulProductCode
MEMBER LONG mulFeatureCode
MEMBER LONG mulUsedRuntimeVersion
MEMBER LONG midProcess
MEMBER LONG musProductItemReference
MEMBER LONG musSession
MEMBER LONG mabIPv4Address:={{},{},{},{}}
MEMBER LONG mcmBoxInfo
END STRUCTURE
Markus