<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    判斷句柄是否有效

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    句柄相當于一個指向指針的指針,指向指針的指針同樣是指針,所以暫且認為它是一個指針,那么CreateFile相當于new 分配一個資源,讓這個指針指到這塊資源的首地址,那么當CloseHandle(handle)后等于是delete操作。此時handle的值還在,但是資源已被釋放掉,那這個時候如果去訪問這個句柄,就等于訪問一個非法的內存資源。那么現在回到這個問題,如何判斷句柄是否有效,就好比是回答如何判斷指針是否有效。大家知道指針就是地址,如何判斷地址是否有效呢?那就是判斷這塊地址上是否有有效數據了?那如何判斷這個地址上有有效數據呢?微軟提供了API,講到這里問題基本就迎刃而解,希望樓主給分給我啊。答案另起一行 

    答案: 
    Tests a memory address to make sure it represents a currently active memory block that was allocated by the diagnostic version of new. 


    BOOL AfxIsMemoryBlock( 
      const void* p, 
      UINT nBytes, 
      LONG* plRequestNumber = NULL 
    ); 

    或者: 
    Tests any memory address to ensure that it is contained entirely within the program's memory space. 


    BOOL AfxIsValidAddress( 
      const void* lp, 
      UINT nBytes, 
      BOOL bReadWrite = TRUE 
    ); 

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全