企业资质

厦门莫格电气自动化有限公司

普通会员8
|
企业等级:普通会员
经营模式:
所在地区:福建 厦门
联系卖家:
手机号码:
公司官网:
企业地址:
企业概况

厦门莫格电气自动化有限公司是一家专业提供工业自动化领域的备件服务商,产品品种齐全、价格合理,公司实力雄厚,重信用、守合同、保证产品质量,以多品种经营特色和薄利多销的原则,赢得了广大客户的信任。我们主营PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测系统卡件,汽轮机控制系统模块,燃气发电机......

620-0086

产品编号:167880106                    更新时间:2018-10-19
价格: ¥999.00
厦门莫格电气自动化有限公司

厦门莫格电气自动化有限公司

  • 主营业务:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测...
  • 公司官网:
  • 公司地址:

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情

厦门莫格电气自动化有限公司销售

Honeywell霍尼韦尔620-0086

您迈开询价的一小步,我还您成功的一大步。

620-0086

620-0086

620-0086

 

 注册操作一般直接跟在线程创建之后,其代码如下:

  DWORD  dwThreadID = 0;

  TCHAR   sThreadName[] = L” ReceiveThread”;  // 注意32个字符!

   // create rx thread

   m_hRxThread  = CreateThread((LPSECURITY_ATTRIBUTES)NULL,

                                   0,

                              

    (LPTHREAD_START_ROUTINE)ReceiveThread,

                                   (LPVOID)pPara,

                                   0,

                                   &dwThreadID);

  RegisterThreadName(dwThreadID, sThreadName);

 

  线程名注销操作则更简单,直接放在线程退出之前即可。

 

  以下是AppHelper提供的这两个API函数的具体实现,该代码应包含在应用程序之中。

 

  struct _THREAD_INDEX

  {

      DWORD   dwSize;             // struct size in byte

      DWORD   dwThreadID;         // a thread id

     TCHAR   szThreadName[32];   // user-defined name associated with the

                                 // thread id above

      struct _THREAD_INDEX    *pNext;             // = NULL

  };

  typedef struct _THREAD_INDEX    THREAD_INDEX, *PTHREAD_INDEX;

 

  BOOL RegisterThreadName(DWORD dwThreadID, TCHAR* sThreadName)

  {

      BOOL            bRet = TRUE;

      THREAD_INDEX    ThreadNode;

      PTHREAD_INDEX   pNode = &ThreadNode;

      DWORD           dwLen;

      HANDLE          hDevFile = NULL;

 

      memset(&ThreadNode, 0, sizeof(THREAD_INDEX));

      pNode->dwSize = sizeof(THREAD_INDEX);

  

      dwLen = wcslen(sThreadName);

      if(!dwThreadID || (dwLen >= 32))

      {

          bRet = FALSE;

          goto cleanup;

      }

 

      pNode->dwThreadID = dwThreadID;

      wcscpy(pNode->szThreadName, sThreadName);

 

      hDevFile = CreateFile(L"HLP1:",             // name of device

                      GENERIC_READ|GENERIC_WRITE, // desired access

                      0,                          // sharing mode

                      NULL,                       // security attributes

                      OPEN_EXISTING,              // creation disposition

                      0,                          // flags/attributes

                      NULL);                      // template file

      if(hDevFile == INVALID_HANDLE_VALUE)

      {

          hDevFile = NULL;

          bRet = FALSE;

          goto cleanup;

      }

 

      dwLen = 0;

      if(!WriteFile(hDevFile, pNode, sizeof(THREAD_INDEX), &dwLen, NULL))

      {

          bRet = FALSE;

      }

      CloseHandle(hDevFile);

 

  cleanup:

      return bRet;

  }

 

  BOOL UnRegisterThreadName(DWORD dwThreadID)

  {

      BOOL            bRet = TRUE;

      THREAD_INDEX    ThreadNode;

      PTHREAD_INDEX   pNode = &ThreadNode;

      DWORD           dwLen;

      HANDLE          hDevFile = NULL;

 

      memset(&ThreadNode, 0, sizeof(THREAD_INDEX));

      pNode->dwSize = sizeof(THREAD_INDEX);

 

      if(!dwThreadID)

      {

          bRet = FALSE;

          goto cleanup;

      }

 

      pNode->dwThreadID = dwThreadID;

 

      hDevFile = CreateFile(L"HLP1:",             // name of device

                      GENERIC_READ|GENERIC_WRITE, // desired access

                      0,                          // sharing mode

                      NULL,                       // security attributes

                      OPEN_EXISTING,              // creation disposition

                      0,                          // flags/attributes

                      NULL);                      // template file

      if(hDevFile == INVALID_HANDLE_VALUE)

      {

          hDevFile = NULL;

          bRet = FALSE;

          goto cleanup;

      }

 

      dwLen = 0;

      if(!WriteFile(hDevFile, pNode, sizeof(THREAD_INDEX), &dwLen, NULL))

      {

          bRet = FALSE;

      }

      CloseHandle(hDevFile);

 

  cleanup:

      return bRet;

厦门莫格电气自动化有限公司电话:传真:联系人:

地址:主营产品:PLC可编程控制器模块,DCS卡件,ESD系统卡件,振动监测...

Copyright © 2025 版权所有: 产品网店铺主体:厦门莫格电气自动化有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。