| |
| |
Eric-Funktion mit Strukturreferenz- #15885 in section [734094] |
| Sec: |
(51) MS-Visual FoxPro 9.0 |
| Von: |
Volkmar Höhn |
| An: |
Bernhard Sander |
| Am/Um: |
26.06.2012 15:18:30 gelesen |
Hallo miteinander, es ist leider noch keine Lösung in Sicht, aber trotzdem Danke für die freundliche Unterstützung. Vielleicht gibt's noch weitere Ideen? Wahrscheinlich habe ich irgendwo einen Grundsatzfehler? Und nun der Programmcode: CLEAR DLLS rcZert = 0 DECLARE long EricGetHandleToCertificate IN ericapi.dll long @ hToken, integer @ iInfo, string pathkey rcZert = EricGetHandleToCertificate(@hToken, @iInfo, pathkey) && -> in Ordnung SET CLASSLIB TO "\klasse\Struct.vcx" ADDITIVE SET PROCEDURE TO ..\Programm\EricParameter.prg ADDITIVE DO ..\Programm\EricParameter && -> siehe unten loEricKey = CREATEOBJECT("EricKey") loEricKey.pHandle = hToken loEricKey.cPIN = "xxxxxx" lcPara = loEricKey.Getstring() &&Versuch auch mit + CHR(0) loBufferlen = CREATEOBJECT("Eric_size_t") loBufferlen.bufferlen = 20000 lcBufferlen = loBufferlen.GetString() &&Versuch auch mit + CHR(0) lpPuffer = REPLICATE(CHR(0), loBufferlen.bufferlen) *Es folgen acht mögliche und unmögliche Versuche !jedes Mal mit Ausnahmefehler! DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string @ lpPuffer, string @ lcBufferlen rcEricKey = EricGetPublicKey(@lcPara, @lpPuffer, @lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string @ lpPuffer, string lcBufferlen rcEricKey = EricGetPublicKey(@lcPara, @lpPuffer, lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string lpPuffer, string @ lcBufferlen rcEricKey = EricGetPublicKey(@lcPara, lpPuffer, @lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string @ lcPara, string lpPuffer, string lcBufferlen rcEricKey = EricGetPublicKey(@lcPara, lpPuffer, lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string @ lpPuffer, string @ lcBufferlen rcEricKey = EricGetPublicKey(lcPara, @lpPuffer, @lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string @ lpPuffer, string lcBufferlen rcEricKey = EricGetPublicKey(lcPara, @lpPuffer, lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string lpPuffer, string @ lcBufferlen rcEricKey = EricGetPublicKey(lcPara, lpPuffer, @lcBufferlen) DECLARE long EricGetPublicKey IN ericapi.dll string lcPara, string lpPuffer, string lcBufferlen rcEricKey = EricGetPublicKey(lcPara, lpPuffer, lcBufferlen) DECLARE integer EricCloseHandleToCertificate IN ericapi.dll long hToken rcZertClose = EricCloseHandleToCertificate(hToken) && -> in Ordnung CLEAR DLLS --------------------------------------------------------------------------------------------- *EricParameter.prg DEFINE CLASS EricKey as struct pHandle = 0 cPIN = "" cMembers = "" PROCEDURE GetCMembers TEXT TO this.cMembers NOSHOW FLAGS 1 PRETEXT 15 HANDLE l:pHandle, HANDLE c6:cPIN ENDTEXT RETURN DoDefault() ENDPROC ENDDEFINE DEFINE CLASS Eric_size_t as struct bufferlen = 0 cMembers = "" PROCEDURE getCMembers TEXT TO this.cMembers NOSHOW FLAGS 1 PRETEXT 15 long l:bufferlen ENDTEXT RETURN DoDefault() ENDPROC ENDDEFINE Beste Grüße Volkmar
|
|
|
|