void Button28OnClick() {
    unsigned char l,cnt[4];
    if(i==6) {
        if(a==0) {  
            a=1; 
            i=0; 
            InitMCU();
            SF_Start();
            SF_mem();
            Write_Log("Security armed");             
        }
        else {  
            i=0;
            InitMCU();            
            SF_Start();
            SF_rem();
            Write_Log("Security disarmed");   
        }
        DrawScreen(&System_Log_Screen);
        Delay_ms(2000);
        strcpy(Label24.Caption," ");
        hom=1;
        DrawScreen(&Home);
    }
}
コード例 #2
0
ファイル: SERVICE.C プロジェクト: denizkoekden/Multi_Dec
/****************************************************************************
*
*    FUNCTION: LoadDeviceDriver( const TCHAR, const TCHAR, HANDLE *)
*
*    PURPOSE: Registers a driver with the system configuration manager 
*	 and then loads it.
*
****************************************************************************/
BOOL LoadDeviceDriver( const TCHAR * Name, const TCHAR * Path, HANDLE * lphDevice,BOOL Install)
{
	SC_HANDLE	schSCManager;
	BOOL		okay;
	DWORD Service_Error;
	
	char LogZeile[128];

	sprintf(LogZeile,"Service Installations");
	Write_Log(LogZeile);
	sprintf(LogZeile,"=====================");
	Write_Log(LogZeile);

	schSCManager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );

	if ( schSCManager == NULL ) {
          Service_Error  = GetLastError();
		   sprintf(LogZeile,"OpenSCManager für %s (%s) return %d ",Name,Path,Service_Error);
		  if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
        	 else if ( Service_Error == ERROR_DATABASE_DOES_NOT_EXIST ) strcat(LogZeile,"DATABASE_DOES_NOT_EXIST");
	         else if ( Service_Error == ERROR_INVALID_PARAMETER ) strcat(LogZeile,"INVALID_PARAMETER");
		strcat(LogZeile,")");
		Write_Log(LogZeile);
        if ( Service_Error == ERROR_ACCESS_DENIED ) MessageBox(hWnd,"Sie besitzen nicht die notwendigen Rechte für die Verwaltung von Geräten","Multi-Decode",MB_ICONSTOP|MB_OK);
	}
	// Ignore success of installation: it may already be installed.
	if ( Install == TRUE ) InstallDriver( schSCManager, Name, Path );

	// Ignore success of start: it may already be started.
	okay=StartDriver( schSCManager, Name );

 	CloseServiceHandle( schSCManager );

	return okay;
}
コード例 #3
0
ファイル: RTC.c プロジェクト: jiangtaojiang/bloodpressure
void RTC_Config(void)	
{
	/*后备寄存器1中,存了一个特殊字符0xA5A5
	第一次上电或后备电源掉电后,该寄存器数据丢失,
	表明RTC数据丢失,需要重新配置 */
    if(BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) //检查是否第一次上电或后备电池已经掉电,
    {       
        Write_Log("Backup VBAT PowerDown or First time PowerUp,Initialize RTC\r\n");
        RTC_Configuration();
        BKP_WriteBackupRegister(BKP_DR1, 0xA5A5);
        
        time_now.tm_year = 2011;
        time_now.tm_mon = 10; //月份表示为0~11
        time_now.tm_mday = 13;
        time_now.tm_hour = 13;
        time_now.tm_min = 16;
        time_now.tm_sec = 38;
        Time_SetCalendarTime(time_now);//设置初始时间
    } 
    else //若后备寄存器没有掉电,则无需重新配置RTC
    {
        Write_Log("Backup VBAT Keep, Don't RTC Configuralation\r\n");
                    //等待RTC与APB同步
  		RTC_WaitForSynchro();
		RTC_WaitForLastTask();
	
  		//使能秒中断 
  		RTC_ITConfig(RTC_IT_SEC, ENABLE);  
  		RTC_WaitForLastTask();
    }
      //这里我们可以利用RCC_GetFlagStatus()函数查看本次复位类型
    if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
    {
		por_rst_flag = 1;	
        Write_Log("PowerUp Reset\r\n");
    }
    else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET)
    {
		pin_rst_flag = 1;
        Write_Log("pin Reset\r\n");
    }
    else if(PWR_GetFlagStatus(PWR_FLAG_WU)!= RESET)  //wakeup唤醒
    {
        Write_Log("WakeUp...\r\n");     
    }
    if(PWR_GetFlagStatus(PWR_FLAG_SB) != RESET) //检查是否由待机模式下唤醒,如是则不需要配置RTC
        /* System resumed from STANDBY mode */      
         /* Clear StandBy flag */
    PWR_ClearFlag(PWR_FLAG_SB);

        //清除RCC中复位标志
    RCC_ClearFlag();
	return;
}
コード例 #4
0
ファイル: SERVICE.C プロジェクト: denizkoekden/Multi_Dec
/****************************************************************************
*
*    FUNCTION: StopDriver( IN SC_HANDLE, IN LPCTSTR)
*
*    PURPOSE: Has the configuration manager stop the driver (unload it)
*
****************************************************************************/
BOOL StopDriver( IN SC_HANDLE SchSCManager, IN LPCTSTR DriverName )
{
    SC_HANDLE       schService;
    BOOL            ret;
    SERVICE_STATUS  serviceStatus;
    DWORD Service_Error ;
    char LogZeile[128];

    schService = OpenService( SchSCManager, DriverName, SERVICE_ALL_ACCESS );
    if ( schService == NULL )
        return FALSE;

    ret = ControlService( schService, SERVICE_CONTROL_STOP, &serviceStatus );

    if ( ret == FALSE )
    {
       Service_Error  = GetLastError();
	    sprintf(LogZeile,"StopService %s Fail ( Return 0x%X  ",DriverName,Service_Error);
		if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
			else if ( Service_Error == ERROR_DEPENDENT_SERVICES_RUNNING ) strcat(LogZeile,"ERROR_DEPENDENT_SERVICES_RUNNING");
			else if ( Service_Error == ERROR_INVALID_SERVICE_CONTROL ) strcat(LogZeile,"ERROR_INVALID_SERVICE_CONTROL");
			else if ( Service_Error == ERROR_SERVICE_CANNOT_ACCEPT_CTRL ) strcat(LogZeile,"ERROR_SERVICE_CANNOT_ACCEPT_CTRL");
			else if ( Service_Error == ERROR_SERVICE_NOT_ACTIVE ) strcat(LogZeile,"ERROR_SERVICE_NOT_ACTIVE");
			else if ( Service_Error == ERROR_SERVICE_REQUEST_TIMEOUT ) strcat(LogZeile,"ERROR_SERVICE_REQUEST_TIMEOUT");

		strcat(LogZeile,")");
		Write_Log(LogZeile);
    };

    CloseServiceHandle( schService );

    return ret;
}
コード例 #5
0
ファイル: GPS_MeiTrack.cpp プロジェクト: daiybh/GPSGater
BOOL GPS_MeiTrack::isThisProtocol( char *buf ,GPSINFO *pGpsInfo)
{
	if(buf[0]=='$' && buf[1]=='$')
	{
		pGpsInfo->nDevID +=GPS_MEITRACK;
		pGpsInfo->nDevID +=GPSID_TID;
		if(m_i64RecvCnt++ %100==0)
		{
			Write_Log("meiligao",buf);
		}
		return TRUE;
	}
	return FALSE;
}
コード例 #6
0
/*********************************************************************
* 函数名称:void TestLogCase_One()
* 说明:简单的测试函数,读文件
* 调用者:main
* 输入参数:
* 无
* 输出参数:
* 无
* 返回值:
* void --
*********************************************************************/
void CWriteLog::TestLogCase_One()
{
	FILE *pFile = NULL;
	TCHAR *pFieldContent = NULL;
	TCHAR szFileName[] = _T("test_case.txt");

	pFieldContent = (TCHAR *)malloc(TEST_CASE_MAX_FILE_LEN);
	if(NULL == pFieldContent)
	{
		Write_Log(LOG_TYPE_ERROR, _T("malloc memory failed,program exit!"));
		return;
	}

	memset(pFieldContent, 0, TEST_CASE_MAX_FILE_LEN);

	Write_Log(LOG_TYPE_INFO, _T("malloc memory for pFiled successful,memory size is: %ld"),
		TEST_CASE_MAX_FILE_LEN);

	Write_Log(LOG_TYPE_INFO, _T("测试中文写入"),
		TEST_CASE_MAX_FILE_LEN);

	pFile = _tfopen(szFileName, _T("r"));
	if(NULL == pFile)
	{
		fprintf(stderr, "open file failed.");
		Write_Log(LOG_TYPE_ERROR, _T("Open file %s failed. program exit!"), szFileName);
		return;
	}

	Write_Log(LOG_TYPE_INFO, _T("Open file %s successful."), szFileName);

	fread(pFieldContent, 1, TEST_CASE_MAX_FILE_LEN, pFile);
	pFieldContent[TEST_CASE_MAX_FILE_LEN -1] = '\0';

	fclose(pFile);
	printf("The file %s content is: \n%s\n", szFileName, pFieldContent);
	Write_Log(LOG_TYPE_INFO, _T("The file %s content is: \n%s\n"), szFileName, pFieldContent);

}
コード例 #7
0
ファイル: SERVICE.C プロジェクト: denizkoekden/Multi_Dec
/****************************************************************************
*
*    FUNCTION: StartDriver( IN SC_HANDLE, IN LPCTSTR)
*
*    PURPOSE: Starts the driver service.
*
****************************************************************************/
BOOL StartDriver( IN SC_HANDLE SchSCManager, IN LPCTSTR DriverName )
{
    SC_HANDLE  schService;
    BOOL       ret;
	SERVICE_STATUS ServiceStatus;
	char LogZeile[128];
    DWORD Service_Error ;
	

	schService = OpenService( SchSCManager,
                              DriverName,
                              SERVICE_ALL_ACCESS
                              );
    if ( schService == NULL ) {
    Service_Error  = GetLastError();
	sprintf(LogZeile,"OpenService %s Fail ( Return %x ",DriverName,Service_Error);
	if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
	 else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
	 else if ( Service_Error == ERROR_INVALID_NAME ) strcat(LogZeile,"INVALID_NAME");
	 else if ( Service_Error == ERROR_SERVICE_DOES_NOT_EXIST ) strcat(LogZeile,"SERVICE_DOES_NOT_EXIST");
	 strcat(LogZeile,")");
	Write_Log(LogZeile);
    return(FALSE);
	};


	if ( QueryServiceStatus(schService,&ServiceStatus ) == FALSE ) {
    Service_Error  = GetLastError();
	sprintf(LogZeile,"QueryServiceStatus %s Fail ( Return %x ",DriverName,Service_Error);
	if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
	 else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
	 strcat(LogZeile,")");
	 Write_Log(LogZeile);
     CloseServiceHandle( schService );
	 return(FALSE);
	};

    if ( ServiceStatus.dwCurrentState == SERVICE_RUNNING ) return(TRUE);


    ret = StartService( schService, 0, NULL );

    if ( ret == FALSE )
    {
       Service_Error  = GetLastError();
        if( Service_Error   == ERROR_SERVICE_ALREADY_RUNNING)
        {
           CloseServiceHandle( schService );
		   return(TRUE);
        } else {
            
	    sprintf(LogZeile,"StartService %s Fail ( Return %x ",DriverName,Service_Error);
		if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
			else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
			else if ( Service_Error == ERROR_PATH_NOT_FOUND ) strcat(LogZeile,"PATH_NOT_FOUND");
			else if ( Service_Error == ERROR_SERVICE_DATABASE_LOCKED ) strcat(LogZeile,"SERVICE_DATABASE_LOCKED");
			else if ( Service_Error == ERROR_SERVICE_DEPENDENCY_DELETED ) strcat(LogZeile,"DEPENDENCY_DELETED");
			else if ( Service_Error == ERROR_SERVICE_DEPENDENCY_FAIL ) strcat(LogZeile,"DEPENDENCY_FAIL");
			else if ( Service_Error == ERROR_SERVICE_DISABLED ) strcat(LogZeile,"SERVICE_DISABLED");
			else if ( Service_Error == ERROR_SERVICE_LOGON_FAILED ) strcat(LogZeile,"SERVICE_LOGON_FAILED");
			else if ( Service_Error == ERROR_SERVICE_MARKED_FOR_DELETE ) strcat(LogZeile,"SERVICE_MARKED_FOR_DELETE");
			else if ( Service_Error == ERROR_SERVICE_NO_THREAD ) strcat(LogZeile,"SERVICE_NO_THREAD");
			else if ( Service_Error == ERROR_SERVICE_REQUEST_TIMEOUT ) strcat(LogZeile,"SERVICE_REQUEST_TIMEOUT");
		strcat(LogZeile,")");
		Write_Log(LogZeile);
		RemoveDriver(SchSCManager, DriverName);
        return(FALSE);
        }
    }
 


    CloseServiceHandle( schService );

    return ret;
}
コード例 #8
0
ファイル: SERVICE.C プロジェクト: denizkoekden/Multi_Dec
/****************************************************************************
*
*    FUNCTION: InstallDriver( IN SC_HANDLE, IN LPCTSTR, IN LPCTSTR)
*
*    PURPOSE: Creates a driver service.
*
****************************************************************************/
BOOL InstallDriver( IN SC_HANDLE SchSCManager, IN LPCTSTR DriverName, IN LPCTSTR ServiceExe )
{
    SC_HANDLE  schService;
	DWORD Service_Error;
	char LogZeile[128];
    int ret;
	char DependOn[256];
    LPCTSTR dependencies=NULL;

    memset(&DependOn[0],0x00,256);

	if ( ( strcmp((char *)DriverName,"MultiDec BT-Treiber") == 0 ) ||
		( strcmp((char *)DriverName,"MultiDec SAA-Treiber") == 0 ) ) {
		strcpy(DependOn,"MultiDec HAL-Treiber");
		dependencies=&DependOn[0];
	};
	
	//
    // NOTE: This creates an entry for a standalone driver. If this
    //       is modified for use with a driver that requires a Tag,
    //       Group, and/or Dependencies, it may be necessary to
    //       query the registry for existing driver information
    //       (in order to determine a unique Tag, etc.).
    //

    schService = CreateService( SchSCManager,          // SCManager database
                                DriverName,           // name of service
                                DriverName,           // name to display
                                SERVICE_ALL_ACCESS | STANDARD_RIGHTS_REQUIRED  ,    // desired access
                                SERVICE_KERNEL_DRIVER, // service type
                                SERVICE_AUTO_START,  // start type
                                SERVICE_ERROR_NORMAL,  // error control type
                                ServiceExe,            // service's binary
                                NULL,                  // no load ordering group
                                NULL,                  // no tag identifier
                                dependencies,          // no dependencies
                                NULL,                   // LocalSystem account
                                NULL                   // no password
                                );

    if ( schService == NULL )
    {
        Service_Error = GetLastError();
   	 sprintf(LogZeile,"CreateService %s Fail ( Return %x ",DriverName,Service_Error);
	 if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
		else if ( Service_Error == ERROR_CIRCULAR_DEPENDENCY ) strcat(LogZeile,"CIRCULAR_DEPENDENCY");
		else if ( Service_Error == ERROR_DUP_NAME ) strcat(LogZeile,"DUP_NAME");
		else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
		else if ( Service_Error == ERROR_INVALID_NAME ) strcat(LogZeile,"INVALID_NAME");
		else if ( Service_Error == ERROR_INVALID_PARAMETER ) strcat(LogZeile,"INVALID_PARAMETER");
		else if ( Service_Error == ERROR_INVALID_SERVICE_ACCOUNT ) strcat(LogZeile,"INVALID_SERVICE_ACCOUNT");
		else if ( Service_Error == ERROR_SERVICE_EXISTS ) strcat(LogZeile,"SERVICE_EXISTS");
		strcat(LogZeile,")");
		Write_Log(LogZeile);
	};



		if(Service_Error == ERROR_SERVICE_EXISTS)
        {

            schService = OpenService( SchSCManager,
                                      DriverName,
                                      SERVICE_CHANGE_CONFIG
                                      );
      
			    if ( schService == NULL ) {
                   Service_Error  = GetLastError();
	               sprintf(LogZeile,"OpenService %s Fail ( Return %x ",DriverName,Service_Error);
					if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
					else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
					else if ( Service_Error == ERROR_INVALID_NAME ) strcat(LogZeile,"INVALID_NAME");
					else if ( Service_Error == ERROR_SERVICE_DOES_NOT_EXIST ) strcat(LogZeile,"SERVICE_DOES_NOT_EXIST");
					strcat(LogZeile,")");
					Write_Log(LogZeile);
				};



			if ( DependOn[0] == 0x00 ) {
			ret = ChangeServiceConfig(
                schService,
                SERVICE_KERNEL_DRIVER, // service type
                SERVICE_AUTO_START,  // start type
                SERVICE_ERROR_NORMAL,
                ServiceExe,
                NULL,
                NULL,
                NULL,
                NULL,
                NULL,
                DriverName
                );
			} else {
			ret = ChangeServiceConfig(
                schService,
                SERVICE_KERNEL_DRIVER, // service type
                SERVICE_AUTO_START,  // start type
                SERVICE_ERROR_NORMAL,
                ServiceExe,
                NULL,
                NULL,
                DependOn,
                NULL,
                NULL,
                DriverName
                );
			};
            if( ret != 0  ) {
                CloseServiceHandle( schService );
				return TRUE;
			};
            Service_Error = GetLastError();
	
   	 sprintf(LogZeile,"ChangeService %s Fail ( Return %x ",DriverName,Service_Error);
	 if ( Service_Error == ERROR_ACCESS_DENIED ) strcat(LogZeile,"ACCESS_DENIED");
		else if ( Service_Error == ERROR_CIRCULAR_DEPENDENCY ) strcat(LogZeile,"CIRCULAR_DEPENDENCY");
		else if ( Service_Error == ERROR_DUP_NAME ) strcat(LogZeile,"DUP_NAME");
		else if ( Service_Error == ERROR_INVALID_HANDLE ) strcat(LogZeile,"INVALID_HANDLE");
		else if ( Service_Error == ERROR_INVALID_PARAMETER ) strcat(LogZeile,"INVALID_PARAMETER");
		else if ( Service_Error == ERROR_INVALID_SERVICE_ACCOUNT ) strcat(LogZeile,"INVALID_SERVICE_ACCOUNT");
		else if ( Service_Error == ERROR_SERVICE_MARKED_FOR_DELETE ) strcat(LogZeile,"SERVICE_MARKED_FOR_DELETE");
		strcat(LogZeile,")");
		Write_Log(LogZeile);
        CloseServiceHandle( schService );
		return FALSE;
	};

// Hier

if ( schService != NULL ) CloseServiceHandle( schService );
return(TRUE);
};
void Box53OnClick() {
    choice_t=2;
    Write_Log("Lighting mode: Dinner");
    Draw_state(choice_t);
}
void Box40OnClick() {
    choice_t=3;
    Write_Log("Heating mode: Party");
    Draw_state(choice_t);    
}
void Box39OnClick() {
    choice_t=2;
    Write_Log("Heating mode: Day");
    Draw_state(choice_t);
}
void Box38OnClick() {
    choice_t=1;
    Write_Log("Heating mode: Night");
    Draw_state(choice_t);
}
void Box37OnClick() {
    choice_t=0;
    Write_Log("Heating mode: Home");
    Draw_state(choice_t);
}
void Box55OnClick() {
    choice_t=3;
    Write_Log("Lighting mode: Party");
    Draw_state(choice_t);
}
void Box51OnClick() {
    choice_t=0;
    Write_Log("Lighting mode: Media");
    Draw_state(choice_t);
}
コード例 #16
0
ファイル: SERVICE.C プロジェクト: denizkoekden/Multi_Dec
int Start_MDHal( void ) {

	    unsigned int Register;
        HANDLE hWD;
		char VersionString[255];
		char Path[255];
		HANDLE		Device_Handle;


  	 NT=Get_Version_Informations(&VersionString[0]);

     Fail_BOOT=FALSE;
	
     sprintf(Path,t("Betriebssystem : %s "),VersionString);
     Write_Log(Path);
 	 SetDlgItemText(SplashWnd,IDC_TEXT1,VersionString);
     Fail_BOOT=FALSE;

    hWD = WD_Open();


	sprintf(Path,"OrgDriverName : %s ",OrgDriverName);
	Write_Log(Path);
	sprintf(Path,"OrgDVBDriverName : %s ",OrgDVBDriverName);
	Write_Log(Path);

    if ( OrgDriverName[0] != 0x00 ) {
			  UnloadDeviceDriver((const char *)OrgDriverName,FALSE);
			  Sleep(500);
		 };
	if ( OrgDVBDriverName[0] != 0x00 ) {
			  UnloadDeviceDriver((const char *)OrgDVBDriverName,FALSE);
			  Sleep(500);
		 };

	
	if ( hWD == (void *)0xffffffff) {
        sprintf(Path,t("Starte Service-Installation"));
        Write_Log(Path);
        
        if ( NT == TRUE ) {
            Write_Log(">>>>>>>> MDHALDR.SYS For NT <<<<<<<<");
            
            GetCurrentDirectory(  sizeof (Path),Path );
            strcat(Path,"\\MDHALDR.SYS");
            Write_Log(Path);
            
            if ( ! LoadDeviceDriver( "MultiDec HAL-Treiber", Path, &Device_Handle,TRUE  ) )  {
                return(-1);
            };
        } else {
            Write_Log(">>>>>>>> MDHALDR.VXD For 9x <<<<<<<<");
            
            Device_Handle=CreateFile("\\\\.\\MDHALDR.VXD",0,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE,0);
            if(Device_Handle==INVALID_HANDLE_VALUE){
                DWORD x = GetLastError();
                if ( x != 50 ) return(-2);
            }
        }
	} else {
    	 sprintf(Path,t("Service bereits installiert"));
         Write_Log(Path);
  		 WD_Close (hWD);
	};

// Ich benutze Windriver, und um jungo nicht weiter zu schaden, 
// liegt diese Funktion in einer DLL , die nur mit MultiDec läuft! 
// ( Andere Programme würden keine Freischaltung bekommen )
//
// Sorry Jungo, aber 3500.- DM habe ich nicht, aber ich mache ab sofort 
// ( eigentlich schon immer ) Werbung für euch 

	Register = Register_MDHal_Driver();
    if ( Register !=0xefcf1ffe ) {
    	 sprintf(Path,t("Service - Register fehlerhaft ( Return : 0x%08x)"),Register);
         Write_Log(Path);
		return(-3);
	}
    	 sprintf(Path,t("Service - OK"));
         Write_Log(Path);
	return(0);
};
void Box52OnClick() {
    choice_t=1;
    Write_Log("Lighting mode: Relax");
    Draw_state(choice_t);
}