|
@@ -51,3 +51,24 @@ void QueueStrManager::AddString(const char * chr)
|
|
|
}
|
|
|
LeaveCriticalSection(&m_csQueueList);
|
|
|
}
|
|
|
+
|
|
|
+void QueueStrManager::Execute()
|
|
|
+{
|
|
|
+ EnterCriticalSection(&m_csQueueList);
|
|
|
+ if(m_length > 0){
|
|
|
+ if(m_pfunc == NULL){
|
|
|
+ LeaveCriticalSection(&m_csQueueList);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try
|
|
|
+ {
|
|
|
+ char* pchr = new char[m_length];
|
|
|
+ strcpy(pchr, m_chr);
|
|
|
+ QueueUserWorkItem(m_pfunc, (LPVOID)pchr, WT_EXECUTEDEFAULT);
|
|
|
+ }
|
|
|
+ catch(...){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ LeaveCriticalSection(&m_csQueueList);
|
|
|
+}
|