Here is the link: http://www.yubico.com/develop/open-source-software/low-level-library/
At the bottom right there are download links for the PDF, x86 and x64 API DLL.
I know basically nothing about COM so I am doing what I always do and just messing with it to see if something clicks and goes from "impossible" to "Hmm I think I get it.."
I have attempted to do this so far:
So far it complains: H:\Autoit projects\ewre5thy6jk.au3 (3) : ==> Variable must be of type "Object".:
Here is what the PDF says as an example (I think it is a c# example)
What do you think I need to do to perform a check like this using the provided DLL ? I am basically an idiot when it comes to COM and this is my first introduction to it. As I understand it a COM / DLL is almost like a chunk of functions that can be called over and over by various means. Could be wrong because I have not really looked indepth into it. I would just like a bit of help understanding the basics of what is involved in getting communication going with the API.
At the bottom right there are download links for the PDF, x86 and x64 API DLL.
Spoiler
I know basically nothing about COM so I am doing what I always do and just messing with it to see if something clicks and goes from "impossible" to "Hmm I think I get it.."
I have attempted to do this so far:
[ autoit ]
$hYubikey = ObjGet('C:\Program Files\Yubico\Yubikey Client API\Bin\x64\YubiClientAPI.dll') ;~ $hYubikey = ObjGet('C:\Program Files (x86)\Yubico\Yubikey Client API\Bin\x86\YubiClientAPI.dll') $test = $hYubikey.readSerial('ycCALL_MODE_BLOCKING')
So far it complains: H:\Autoit projects\ewre5thy6jk.au3 (3) : ==> Variable must be of type "Object".:
Here is what the PDF says as an example (I think it is a c# example)
Quote
4.5 Serial number read
The non-alterable device serial number can be read (unless disabled in the device
configuration) via an API call.
The call completes in around 50 ms, so generally an asynchronous call is typically not
needed.
Synopsis
Property readSerial(ycCALL_MODE mode) As ycRETCODE rc
The basic principle (using blocking calls) is
returnCode = readSerial(ycCALL_MODE_BLOCKING)
if returnCode = ycRETCODE_OK Then
dataEncoding = ycENCODING_UINT32
print dataBuffer -- Response is here as 32-bits integer
Else
print “An ycRETCODE_xx error occurred”
EndIf
The non-alterable device serial number can be read (unless disabled in the device
configuration) via an API call.
The call completes in around 50 ms, so generally an asynchronous call is typically not
needed.
Synopsis
Property readSerial(ycCALL_MODE mode) As ycRETCODE rc
The basic principle (using blocking calls) is
returnCode = readSerial(ycCALL_MODE_BLOCKING)
if returnCode = ycRETCODE_OK Then
dataEncoding = ycENCODING_UINT32
print dataBuffer -- Response is here as 32-bits integer
Else
print “An ycRETCODE_xx error occurred”
EndIf
What do you think I need to do to perform a check like this using the provided DLL ? I am basically an idiot when it comes to COM and this is my first introduction to it. As I understand it a COM / DLL is almost like a chunk of functions that can be called over and over by various means. Could be wrong because I have not really looked indepth into it. I would just like a bit of help understanding the basics of what is involved in getting communication going with the API.