111,098
社区成员




[DllImport("Dt.dll")]
extern static long GetTYDogInfo(ref TTYDogInfo dogInfo, int productID, int softType);
[StructLayout(LayoutKind.Sequential)]
public struct TTYDogInfo
{
//...
[MarshalAs( UnmanagedType.ByValTStr, SizeConst=256)]
public string CorpName;
//...
}
struct TTYDogInfo
{
int ProductID;
float VersionID;
int UserNumber;
float MakeDate;
int Validate;
char CorpName[256];
char Remark[256];
char ProductCode[256];
char RFID[256];
//char* CorpName; //专用
//char* Remark; //备注
//char* ProductCode; //SCADS SCADP
//char* RFID;
int RegisterState;
DWORD Hid1;
DWORD Hid2;
char HostID[256];
//char* HostID;
};
extern "C" __declspec(dllexport) long GetTYDogInfo(TTYDogInfo *dogInfo, int productCode, int softType)
{
dogInfo->ProductID = productCode;
dogInfo->Hid1 = softType;
strcpy(dogInfo->CorpName, "企业名称");
strcpy(dogInfo->Remark, "Remark");
strcpy(dogInfo->ProductCode, "Product");
strcpy(dogInfo->RFID, "RFID");
strcpy(dogInfo->HostID, "HostID");
//dogInfo->CorpName = "企业名称";
//dogInfo->Remark = "Remark";
//dogInfo->ProductCode = "Product";
//dogInfo->RFID = "RFID";
//dogInfo->HostID = "HostID";
return 0;
//AFX_MANAGE_STATE(AfxGetStaticModuleState());
//CDTMainFun dtmf;
//return dtmf.DLLInit(isAuthor,lpProductID,lpSoftName,lpAppString,lpCorpGUID);
}
unsafe struct TTYDogInfo
{
public int ProductID;
public float VersionID;
public int UserNumber;
public float MakeDate;
public int Validate;
//public char[] CorpName;// = new char[256];
//public char[] Remark;// = new char[256];
//public char[] ProductCode;// = new char[256];
//public char[] RFID;// = new char[256];
public fixed char CorpName[256]; //专用
public fixed char Remark[256]; //专用
public fixed char ProductCode[256]; //专用
public fixed char RFID[256]; //专用
//public string CorpName; //专用
//public string Remark; //备注
//public string ProductCode; //SCADS SCADP
//public string RFID;
public int RegisterState;
public long Hid1;
public long Hid2;
//public char[] HostID;// = new char[256];
public fixed char HostID[256]; //专用
//public string HostID;
}
class Program
{
[DllImport("Dt.dll")]
extern static long GetTYDogInfo(ref TTYDogInfo dogInfo, int productID, int softType);
static void Main(string[] args)
{
TTYDogInfo dogInfo = new TTYDogInfo();
//dogInfo.CorpName = new string(' ', 256);
//dogInfo.Remark = new string(' ', 256);
//dogInfo.ProductCode = new string(' ', 256);
//dogInfo.RFID = new string(' ', 256);
//dogInfo.HostID = new string(' ', 256);
long result = GetTYDogInfo(ref dogInfo, 8006, 2);
}
}