|
通过支持AT指令集的手机发送短消息(源代码)(4) CloseHandle( m_pSPool[dwCount].hSPIDLE ); m_pSPool[dwCount].hSPIDLE = NULL; } delete [] m_phSPDeliver; m_phSPDeliver = NULL; delete [] m_phSPIDLE; m_phSPDeliver = NULL; delete [] m_pSPool; m_pSPool = NULL; } catch( ... ) { return( false ); } return( true ); } bool CGSMPhone::CreateDeliverPool(DWORD dwNum) { try { m_pDPool = new DeliverPool[dwNum+1]; m_phDPDeliver = new HANDLE[dwNum+1]; m_phDPIDLE = new HANDLE[dwNum+1]; for( DWORD dw = 0; dw < dwNum; dw ++ ) { m_phDPDeliver[dw] = m_pDPool[dw].hDPDeliver = CreateEvent( NULL,FALSE,FALSE,NULL ); m_phDPIDLE[dw] = m_pDPool[dw].hDPIDLE = CreateEvent( NULL,FALSE,TRUE,NULL ); } m_phDPDeliver[dw] = m_phDPIDLE[dw] = m_hSystemExit; } catch( ... ) { return( false ); } return( true ); } bool CGSMPhone::FreeDeliverPool() { try { for( DWORD dwCount = 0; dwCount < m_dwThreadPoolNum; dwCount ++ ) { CloseHandle( m_pDPool[dwCount].hDPDeliver ); m_pDPool[dwCount].hDPDeliver = NULL; CloseHandle( m_pDPool[dwCount].hDPIDLE ); m_pDPool[dwCount].hDPIDLE = NULL; } delete [] m_phDPDeliver; m_phDPDeliver = NULL; delete [] m_phDPIDLE; m_phDPDeliver = NULL; delete [] m_pDPool; m_pDPool = NULL; } catch( ... ) { return( false ); } return( true ); } bool CGSMPhone::CreateShortMsgPool(DWORD dwNum) { try { m_pSMPool = new ShortMsgPool[dwNum];
|