int WriteSimple (IOWKIT_HANDLE devHandle, DWORD value) { IOWKIT_REPORT rep; IOWKIT56_IO_REPORT rep56; /* Init report */ switch (IowKitGetProductId(devHandle)) { /* Write simple value to IOW40*/ case IOWKIT_PRODUCT_ID_IOW40: memset(&rep, 0xff, sizeof(rep)); rep.ReportID = 0; rep.Bytes[3] = (UCHAR) value; return IowKitWrite(devHandle, IOW_PIPE_IO_PINS, (PCHAR) &rep, IOWKIT40_IO_REPORT_SIZE) == IOWKIT40_IO_REPORT_SIZE; /* Write simple value to IOW24*/ case IOWKIT_PRODUCT_ID_IOW24: memset(&rep, 0xff, sizeof(rep)); rep.ReportID = 0; rep.Bytes[0] = (UCHAR) value; return IowKitWrite(devHandle, IOW_PIPE_IO_PINS, (PCHAR) &rep, IOWKIT24_IO_REPORT_SIZE) == IOWKIT24_IO_REPORT_SIZE; /* Write simple value to IOW56*/ case IOWKIT_PRODUCT_ID_IOW56: memset(&rep56, 0xff, sizeof(rep56)); rep56.ReportID = 0; rep56.Bytes[6] = (UCHAR) value; return IowKitWrite(devHandle, IOW_PIPE_IO_PINS, (PCHAR) &rep56, IOWKIT56_IO_REPORT_SIZE) == IOWKIT56_IO_REPORT_SIZE; default: return 0; } }
void write(WORD value) { IOWKIT24_IO_REPORT rep; memset(&rep, 0, 3); //~ rep.ReportID = 0; rep.Value = value; IowKitWrite(iow, 0, (PCHAR) &rep, 3); } //write