l'errore sta nella dichiarazione tu vuoi trasformare un VOID in un array di CHAR prova piuttosto a passare un longOriginariamente inviato da arcadia
uhm.... la funzione in C dovrebbe essere questa:
la dichiarazione in VB6 è questa:codice:C_RET cryptGetAttributeString( C_IN CRYPT_HANDLE cryptHandle, C_IN CRYPT_ATTRIBUTE_TYPE attributeType, C_OUT void C_PTR value, C_OUT int C_PTR valueLength )
e la richiamo cosi':codice:Public Declare Function cryptGetAttributeString Lib "CL32.DLL" (ByVal cryptHandle As Long, _ ByVal attributeType As CRYPT_ATTRIBUTE_TYPE, _ ByVal value As String , _ ByRef valueLength As Long) As Long
il risulatato è miaVar = ">&‚A"codice:Dim miaVar As String miaVar = String(8, " ") errcode = cryptGetAttributeString(extraData, CRYPT_CERTINFO_CMS_SIGNINGTIME, miaVar, Len(miaVar))
e poi fai
la copymemory di quell'indirizzo per la lunghezza che ti da la funz su un'altra variabile