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;
	}
}
예제 #2
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