VC代码中的(UCHAR *)&LicInfo是什么意思?(100)

  • 主题发起人 主题发起人 zuoc
  • 开始时间 开始时间
Z

zuoc

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,在DELPHI中怎么表示?
 
这是强制转换。类似于delphi:PByte(@LicInfo)
 
VC有这样一个函数HRESULT RC_GetLicenseInfo(ULONG DogHandle, USHORT usDirID, USHORT usFileID, UCHAR * pLicInfo);转成DELPHI就是type UCHAR = Byte
PUCHAR = ^Byte;function RC_GetLicenseInfo(DogHandle: Longword
usDirID: USHORT
usFileID: USHORT
pLicInfo: PUCHAR): Longword
执行函数后返回pLicInfo,pLicInfo存储的是一个记录类型的地址RC_LICENSE_INFO=record usLimit: USHORT
ulCount:ULONG
ulRunTime:ULONG
ulEndTime:word
ulBeginTime:word
end
PRC_LICENSE_INFO = ^RC_LICENSE_INFO;LicInfo: PRC_LICENSE_INFO;怎么样取出这个记录类型数据?愿意再加分.
 
RC_LICENSE_INFO=record usLimit: USHORT
ulCount:ULONG
ulRunTime:ULONG
ulEndTime:word
ulBeginTime:word
end
PRC_LICENSE_INFO = ^RC_LICENSE_INFO;LicInfo: PRC_LICENSE_INFO;感觉这像个软件试用限制的保护函数及其相关数据结构。m_LI: LicInfo;m_LI:= LicInfo(pLicInfo);强制类型转换。或者Pointer(m_LI):= Ptr(Integer(pLicInfo));- -!这也叫带套作业——安全。
 
多人接受答案了。
 
后退
顶部