BOOL C_HmdChina::GetImage(VARIANT* Image)
{
BOOL result;
static BYTE parms[] =
VTS_PVARIANT;
InvokeHelper(0x6003001e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
Image);
return result;
}我如何定义GetImage参数,如何从参数中得到数据。
这个在vb中是这样用的
Dim ImageBuf() As Byte
Dim RetValue As Integer
If HmdChina1.GetImage(ImageBuf) Then
RetValue = IFDrawFpImage(FingerPrint.hwnd, ImageBuf(0))
Else
TextAdd "Fail, Time: " & GetTickCount - t
End If
其中IFDrawFpImage是dll中的函数。FingerPrint是picturebox
Public Declare Function IFDrawFpImage Lib "IFDrawFpImage.dll" (ByVal hwnd As Long, ByRef pImage As Byte) As Integer
{
BOOL result;
static BYTE parms[] =
VTS_PVARIANT;
InvokeHelper(0x6003001e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
Image);
return result;
}我如何定义GetImage参数,如何从参数中得到数据。
这个在vb中是这样用的
Dim ImageBuf() As Byte
Dim RetValue As Integer
If HmdChina1.GetImage(ImageBuf) Then
RetValue = IFDrawFpImage(FingerPrint.hwnd, ImageBuf(0))
Else
TextAdd "Fail, Time: " & GetTickCount - t
End If
其中IFDrawFpImage是dll中的函数。FingerPrint是picturebox
Public Declare Function IFDrawFpImage Lib "IFDrawFpImage.dll" (ByVal hwnd As Long, ByRef pImage As Byte) As Integer
但是aa中的数据如何使用呢?
if(aa.vt == (VT_ARRAY | VT_UI1)) //判断数据类型是否正确
{
BYTE* pData = NULL;
SafeArrayAccessData(aa.parray,(void **)&pData); //得到指向数据的指针 // pData 此时为指向你图像数据的指针,对该数据进行处理 SafeArrayUnaccessData (aa.parray);
}