Пример #1
0
/*********************************************************************
*
* FUNCTION:			SaveValue
*
* ARGUMENTS:		None
*
* RETURNS:			None
*
* DESCRIPTION:
*
* RESTRICTIONS:
*
*********************************************************************/
void SaveValue(char *ptr, USR_DYNAMIC_INITIALIZE *ptrUDI)
{
    if (ptr)
    {   //parameter was found in response...
        if (ptrUDI->fieldType == WORD_TYPE)
        {
            *(UINT16*)ptrUDI->fieldDataSource = atoi(ptr);

        } else if (ptrUDI->fieldType == DWORD_TYPE)
        {
            *(UINT32*)ptrUDI->fieldDataSource = atol(ptr);
        }
        else if(ptrUDI->fieldType == STRING_TYPE)
        {
            (void)strcpy((char*)ptrUDI->fieldDataSource, StripPlus(ptr));
        }
        else      //float
        {
            *(float*)ptrUDI->fieldDataSource = ptrToFloat(ptr);
        }
    }
}
Пример #2
0
//***********************************************************************
LRESULT FAR PASCAL MMIOJunkIOProc(LPSTR lpmmioinfo, UINT wMsg, LPARAM lParam1, LPARAM lParam2)
//***********************************************************************
{
	LRESULT lRes = MMSYSERR_NOERROR;
	MMIOINFO *pInfo = (MMIOINFO *)lpmmioinfo;

	switch(wMsg)
	{
	case MMIOM_READ:
		lRes = MMIOJunkRead(pInfo, (LPBYTE)lParam1, lParam2);
		break;

	case MMIOM_SEEK:
		{
			HFILE hFile = pInfo->adwInfo[0];
			MMIOSeek(pInfo, hFile, lParam1, lParam2);
		}
		break;

	case MMIOM_WRITE:
		break;

	case MMIOM_OPEN:
		{
			LPSTR lpszFileName = (LPSTR)lParam1;
			char szNewName[_MAX_PATH];

			// If just parsing the name...
			if (pInfo->dwFlags & MMIO_PARSE)
			{

				StripPlus(szNewName, lpszFileName);
				//lRes = TRUE;
			}

			// Else, assume we are to open the file
			else
			{
				// Get rid of the +abc stuff
				StripPlus(szNewName, lpszFileName);

				// Open the file and stuff the handle in user info
				HFILE hFile = _lopen(szNewName, OF_READ);
				pInfo->adwInfo[0] = hFile;
				pInfo->lDiskOffset = 0;
			}

			lFrameCount = 0;

			//pInfo->hmmio = hFile;
		}
		break;

	case MMIOM_CLOSE:
		{
		HFILE hFile = (HFILE)pInfo->adwInfo[0];
		if (hFile)
			_lclose(hFile);
		}
		break;
	}

	return lRes;
}
Пример #3
0
/*********************************************************************
*
* FUNCTION:			SaveValue
*
* ARGUMENTS:		None
*
* RETURNS:			None
*
* DESCRIPTION:
*
* RESTRICTIONS:
*
*********************************************************************/
void SaveValue(char *ptr, USR_DYNAMIC_INITIALIZE *ptrUDI)
{
    UINT16  wType;

    if (ptr)
    {   //parameter was found in response...
        wType = ptrUDI->fieldType & DATA_TYPE_MASK;
        switch (wType)
        {
        case BYTE_TYPE:
            *(UINT8*)ptrUDI->fieldDataSource = (BYTE)(atoi(ptr));
            break;

        case WORD_TYPE:
            *(UINT16*)ptrUDI->fieldDataSource = atoi(ptr);
            break;

        case DWORD_TYPE:
            *(UINT32*)ptrUDI->fieldDataSource = atol(ptr);
            break;

        case STRING_TYPE:
            (void)strcpy((char*)ptrUDI->fieldDataSource, StripPlus(ptr));
            break;

        case FLOAT_TYPE:
            *(float*)ptrUDI->fieldDataSource = ptrToFloat(ptr);
            break;

        case BIT_0_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x01;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x01;
            break;

        case BIT_1_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x02;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x02;
            break;

        case BIT_2_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x04;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x04;
            break;

        case BIT_3_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x08;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x08;
            break;

        case BIT_4_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x10;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x10;
            break;

        case BIT_5_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x20;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x20;
            break;

        case BIT_6_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x40;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x40;
            break;

        case BIT_7_TYPE:
            if ((*(UINT8*)ptr) & 0x01)
                *((UINT8*)ptrUDI->fieldDataSource) |= 0x80;
            else
                *((UINT8*)ptrUDI->fieldDataSource) &= ~0x80;
            break;

        }
    }
}