Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SetDataFormat(&g_didf) Returns error code "E_INVALIDARG"

17 views
Skip to first unread message

venki

unread,
Oct 6, 2008, 10:14:49 AM10/6/08
to
Hi

I have developing application for HID Driver(Remote).

code
----------
DIOBJECTDATAFORMAT rgodf[] = {
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[0]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[1]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[2]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[3]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[4]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[5]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[6]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[7]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[8]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[9]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[10]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[11]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[12]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[13]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[14]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[15]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[16]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[17]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[18]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[19]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[20]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[21]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[22]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Button, FIELD_OFFSET(g_remote, bButton[23]),
DIDFT_BUTTON | DIDFT_ANYINSTANCE, 0, },
{ &GUID_Unknown, FIELD_OFFSET(g_remote, bUnknown),
DIDFT_ALL | DIDFT_ANYINSTANCE, 0, },
};

DIDATAFORMAT g_didf = {
sizeof(DIDATAFORMAT), // Size of this structure
sizeof(DIOBJECTDATAFORMAT), // Size of object data
format
DIDF_ABSAXIS , // Absolute axis
coordinates
sizeof(g_remote), // Size of device data
(sizeof(rgodf) / sizeof(rgodf[0])),
rgodf, // And here they are
};

typedef struct g_remote {
BYTE bButton[24];
DWORD bUnknown;
} g_remote;
===================================================

hres = lpRec->SetDataFormat(&g_didf);

the above API return error code of "E_INVALIDARG" .I guess some format
issue in the above code it means some of the argument passing wrong
way. Pls Help me where is wrong ?

Regards
Venki

0 new messages