Code: Select all
#dCLogFile = "KardLiveVFP05.log"
#CLSCTX_INPROC_SERVER = $01
Macro DEFINE_GUID(Name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Global Name.GUID
Name\Data1 = l
Name\Data2 = w1
Name\Data3 = w2
Name\Data4[0] = b1
Name\Data4[1] = b2
Name\Data4[2] = b3
Name\Data4[3] = b4
Name\Data4[4] = b5
Name\Data4[5] = b6
Name\Data4[6] = b7
Name\Data4[7] = b8
EndMacro
DEFINE_GUID(CLSID_KardAuth, $8DC6BA5D, $6861, $4F0A, $A0, $80, $7D, $ED, $CC, $97, $C1, $0F)
DEFINE_GUID(IID_KardAuth, $4C791FAF, $8649, $462D, $A9, $3A, $18, $5F, $95, $C2, $DC, $0E)
Interface KardAuth Extends IDispatch
Prepare110_115(String.p-bstr, String.p-bstr, ReturnValue.i)
Prepare130(String.p-bstr, String.p-bstr, ReturnValue.i)
EndInterface
Structure Client
Len.i
Sent.s
Rcvd.s
SendEnq.b
Eot.b
Date.i
IPAddr.s
EndStructure
Global gcStartIn.s
gcStartIn = GetCurrentDirectory()
NewMap lmEventClnt.Client()
Define *lnReturnPtr,*loVFP.KardAuth
If *loVFP\Prepare110_115(lcTxt, gcStartIn+#dCLogFileB, @*lnReturnPtr) = #S_OK
lmEventClnt(lcCID)\Sent = PeekS(*lnReturnPtr,-1,#PB_Unicode)
SysFreeString_(*lnReturnPtr)
EndIf
This code works perfectly and has done for years but what I want to know is why the pointer to the returned string is passed as a parameter in the method call.
Simon
