⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 priority.c

📁 epson公司的一个关于s1d13706的低层驱动程序
💻 C
字号:
/*
**===========================================================================
** PRIORITY.C - Provide functions for time-critical code
**---------------------------------------------------------------------------
** Copyright (c) 2000, 2001 Epson Research and Development, Inc.
** All Rights Reserved.
**===========================================================================
*/

#ifdef INTEL_W32
#include <windows.h>
#endif

#include "hal.h"

/*-------------------------------------------------------------------------*/

static const char Revision[] = "PRIORITY.C=$Revision: 4 $";

/*-------------------------------------------------------------------------*/

int _ThreadPriorityNestCount = 0;


#ifdef INTEL_W32
static unsigned SavedProcessPriority;
static unsigned SavedThreadPriority;

int seBeginHighPriority(void)
    {
    if (_ThreadPriorityNestCount == 0)
        {
        SavedProcessPriority = GetPriorityClass(GetCurrentProcess());
        SavedThreadPriority  = GetThreadPriority(GetCurrentThread());
        SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
        SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
        }    
    _ThreadPriorityNestCount++;
    return _ThreadPriorityNestCount;
    }

int seEndHighPriority(void)
    {
    if (_ThreadPriorityNestCount == 1)
        {
        SetPriorityClass(GetCurrentProcess(), SavedProcessPriority);
        SetThreadPriority(GetCurrentThread(), SavedThreadPriority);
        }
    if (_ThreadPriorityNestCount > 0)
        _ThreadPriorityNestCount--;
    return _ThreadPriorityNestCount;
    }

#else

int seBeginHighPriority(void)
   {
   _ThreadPriorityNestCount++;
   return _ThreadPriorityNestCount;
   }

int seEndHighPriority(void)
   {
   if (_ThreadPriorityNestCount > 0)
      _ThreadPriorityNestCount--;

   return _ThreadPriorityNestCount;
   }

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -