Megosztás a következőn keresztül:


CWinThread osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Egy alkalmazáson belüli végrehajtási szálat jelöl.

Szemantika

class CWinThread : public CCmdTarget

Tagok

Nyilvános konstruktorok

Név Description
CWinThread::CWinThread Egy CWinThread objektumot hoz létre.

Nyilvános módszerek

Név Description
CWinThread::CreateThread Elindítja egy CWinThread objektum végrehajtását.
CWinThread::ExitInstance Felülbírálás a szál leállásakor történő törléshez.
CWinThread::GetMainWnd Lekéri a szál főablakára mutató mutatót.
CWinThread::GetThreadPriority Lekéri az aktuális szál prioritását.
CWinThread::InitInstance Felülbírálás a szálpéldány inicializálásához.
CWinThread::IsIdleMessage Speciális üzeneteket keres.
CWinThread::OnIdle Felülbírálás szálspecifikus üresjárati idő feldolgozásához.
CWinThread::PostThreadMessage Üzenet küldése egy másik CWinThread objektumnak.
CWinThread::PreTranslateMessage Szűri az üzeneteket, mielőtt elküldené őket a Windows-függvényekbe TranslateMessage és DispatchMessagea .
CWinThread::ProcessMessageFilter Elfog bizonyos üzeneteket, mielőtt elérnék az alkalmazást.
CWinThread::ProcessWndProcException Elfogja a szál üzenete és a parancskezelők által elvetett nem kezelt kivételeket.
CWinThread::PumpMessage A szál üzenethurkját tartalmazza.
CWinThread::ResumeThread Egy szál felfüggesztési számának csökkenése.
CWinThread::Run Vezérlőfüggvény üzenetszivattyúval rendelkező szálakhoz. Felülbírálás az alapértelmezett üzenethurok testreszabásához.
CWinThread::SetThreadPriority Beállítja az aktuális szál prioritását.
CWinThread::SuspendThread Növeli a szál felfüggesztési számát.

Nyilvános operátorok

Név Description
CWinThread::operator HANDLE Lekéri az objektum fogópontját CWinThread .

Nyilvános adatok tagjai

Név Description
CWinThread::m_bAutoDelete Megadja, hogy a szálvégzítéskor meg kell-e semmisíteni az objektumot.
CWinThread::m_hThread Az aktuális szál kezelése.
CWinThread::m_nThreadID Az aktuális szál azonosítója.
CWinThread::m_pActiveWnd Mutasson a tárolóalkalmazás főablakára, ha egy OLE-kiszolgáló aktív.
CWinThread::m_pMainWnd Az alkalmazás főablakára mutató mutatót tartalmaz.

Megjegyzések

A végrehajtás fő szálát általában egy ; forrásból CWinAppszármaztatott objektum adja megCWinThread. CWinApp A további CWinThread objektumok több szálat is engedélyeznek egy adott alkalmazáson belül.

A szálaknak CWinThread két általános típusa van: feldolgozószálak és felhasználói felületi szálak. A feldolgozószálak nem rendelkeznek üzenetszivattyúval: például egy olyan szál, amely háttérszámításokat végez egy számolótábla-alkalmazásban. A felhasználói felületi szálak rendelkeznek egy üzenetszivattyúval, és feldolgozzák a rendszertől kapott üzeneteket. CWinApp és az abból származtatott osztályok a felhasználói felületi szálakra mutatnak példákat. Más felhasználói felületi szálak közvetlenül is származtathatók a rendszerből CWinThread.

Az osztályobjektumok CWinThread általában a szál időtartamára léteznek. Ha módosítani szeretné ezt a viselkedést, állítsa a következőre m_bAutoDeleteFALSE: .

Az CWinThread osztályra azért van szükség, hogy a kód és az MFC teljes mértékben biztonságos legyen. A keretrendszer által a szálspecifikus információk fenntartásához használt szálspecifikus adatokat objektumok kezelik CWinThread . A szál helyi adatainak kezeléséhez való függőség CWinThread miatt az MFC-t használó összes szálat az MFC-nek kell létrehoznia. A futásidejű függvény_beginthread_beginthreadex által létrehozott szál például nem használhat MFC API-kat.

Szál létrehozásához hívja meg a () parancsot . Két űrlap létezik attól függően, hogy feldolgozót vagy felhasználói felületi szálat szeretne-e használni. Ha felhasználói felületi szálat szeretne, vigye az AfxBeginThread egérmutatót a CRuntimeClassCWinThreadszármaztatott osztályhoz. Ha feldolgozószálat szeretne létrehozni, adjon át AfxBeginThread egy mutatót a vezérlőfüggvénynek és a paraméternek a vezérlőfüggvénynek. A munkavégző szálakhoz és a felhasználói felületi szálakhoz is megadhat olyan választható paramétereket, amelyek módosítják a prioritást, a veremméretet, a létrehozási jelzőket és a biztonsági attribútumokat. AfxBeginThread egy mutatót ad vissza az új CWinThread objektumhoz.

Hívás AfxBeginThreadhelyett létrehozhat egy CWinThread-származtatott objektumot, majd meghívhatja CreateThreadőket. Ez a kétfázisú építési módszer akkor hasznos, ha újra szeretné használni az objektumot a CWinThread szálvégrehajtások egymást követő létrehozása és leállítása között.

További információ: CWinThreadTöbbszálasság C++ és MFC használatával, Többszálas: User-Interface szálak létrehozása, Többszálas: Feldolgozószálak létrehozása és Többszálasság: A szinkronizálási osztályok használata.

Öröklési hierarchia

CObject

CCmdTarget

CWinThread

Requirements

Fejléc:afxwin.h

CWinThread::CreateThread

Létrehoz egy szálat, amely a hívási folyamat címterén belül végrehajtható.

BOOL CreateThread(
    DWORD dwCreateFlags = 0,
    UINT nStackSize = 0,
    LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);

Paraméterek

dwCreateFlags
Egy további jelzőt ad meg, amely szabályozza a szál létrehozását. Ez a jelző két érték egyikét tartalmazhatja:

  • CREATE_SUSPENDED Indítsa el a szálat egy felfüggesztési számmal. Használja CREATE_SUSPENDED , ha inicializálni szeretné az CWinThread objektum bármely tagadatát, például m_bAutoDelete a származtatott osztály bármely tagját, mielőtt a szál elindulna. Miután az inicializálás befejeződött, a szál futtatásának elindításához használja a CWinThread::ResumeThread elemet. A szál csak a meghívás után CWinThread::ResumeThread lesz végrehajtva.

  • 0 Közvetlenül a létrehozás után indítsa el a szálat.

nStackSize
Az új szál veremének bájtban megadott méretét adja meg. Ha 0, a verem mérete alapértelmezés szerint megegyezik a folyamat elsődleges szálának méretével.

lpSecurityAttrs
Egy struktúrára SECURITY_ATTRIBUTES mutat, amely meghatározza a szál biztonsági attribútumait.

Visszaadott érték

Nonzero, ha a szál sikeresen létrejött; egyéb esetben 0.

Megjegyzések

Egy szálobjektum létrehozásához és egy lépésben történő végrehajtásához használható AfxBeginThread . Akkor használja CreateThread , ha újra szeretné használni a szálobjektumot a szálvégrehajtások egymást követő létrehozása és befejezése között.

CWinThread::CWinThread

Egy CWinThread objektumot hoz létre.

CWinThread();

Megjegyzések

A szál végrehajtásának megkezdéséhez hívja meg a tagfüggvényt CreateThread . Általában a konstruktor és CreateThreada konstruktor meghívásával AfxBeginThreadfog szálakat létrehozni.

CWinThread::ExitInstance

A keretrendszer meghívja egy ritkán felülírt Run tagfüggvényből, hogy kilépjen a szál ezen példányából, vagy ha egy hívás InitInstance meghiúsul.

virtual int ExitInstance();

Visszaadott érték

A szál kilépési kódja; A 0 nem jelez hibát, a 0-nál nagyobb értékek pedig hibát jeleznek. Ez az érték hívással GetExitCodeThreadkérhető le.

Megjegyzések

Ne hívja meg ezt a tagfüggvényt bárhonnan, csak a tagfüggvényen Run belül. Ez a tagfüggvény csak felhasználói felületi szálakban használható.

A függvény alapértelmezett implementációja törli az CWinThread objektumot, ha m_bAutoDelete igen TRUE. Bírálja felül ezt a függvényt, ha további tisztítást szeretne végezni a szál leállásakor. A implementációnak ExitInstance meg kell hívnia az alaposztály verzióját a kód végrehajtása után.

CWinThread::GetMainWnd

Ha az alkalmazás OLE-kiszolgáló, hívja meg ezt a függvényt, hogy az alkalmazás aktív főablakára mutató mutatót kérjen le ahelyett, hogy közvetlenül az m_pMainWnd alkalmazásobjektum tagjára hivatkozna.

virtual CWnd* GetMainWnd();

Visszaadott érték

Ez a függvény a két ablaktípus egyikére mutató mutatót ad vissza. Ha a szál egy OLE-kiszolgáló része, és egy aktív tárolóban aktív, helyben aktív objektummal rendelkezik, ez a függvény az CWinApp::m_pActiveWndCWinThread objektum adattagját adja vissza.

Ha egy tárolón belül nincs helyben aktív objektum, vagy az alkalmazás nem OLE-kiszolgáló, ez a függvény a m_pMainWnd szálobjektum adattagját adja vissza.

Megjegyzések

A felhasználói felületi szálak esetében ez egyenértékű az alkalmazásobjektum tagjára való közvetlen hivatkozással m_pActiveWnd .

Ha az alkalmazás nem OLE-kiszolgáló, akkor a függvény meghívása egyenértékű az alkalmazásobjektum tagjára való közvetlen hivatkozással m_pMainWnd .

A függvény felülbírálása az alapértelmezett viselkedés módosításához.

CWinThread::GetThreadPriority

Lekéri a szál aktuális prioritási szintjét.

int GetThreadPriority();

Visszaadott érték

Az aktuális szál prioritási szintje a prioritási osztályon belül. A visszaadott érték a következők egyike lesz, a legmagasabb prioritástól a legalacsonyabbig:

  • THREAD_PRIORITY_TIME_CRITICAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_IDLE

Ezekről a prioritásokról további információt a Windows SDK-ban talál SetThreadPriority .

CWinThread::InitInstance

InitInstance felül kell bírálni a felhasználói felületi szál minden új példányának inicializálásához.

virtual BOOL InitInstance();

Visszaadott érték

Nonzero, ha az inicializálás sikeres; egyéb esetben 0.

Megjegyzések

Általában felülbírálhatja InitInstance azokat a feladatokat, amelyeket egy szál első létrehozásakor végre kell hajtani.

Ez a tagfüggvény csak felhasználói felületi szálakban használható. A munkaszálak inicializálása a vezérlő függvényben AfxBeginThread.

CWinThread::IsIdleMessage

Felülbírálja ezt a függvényt, hogy ne OnIdle legyen meghívva adott üzenetek létrehozása után.

virtual BOOL IsIdleMessage(MSG* pMsg);

Paraméterek

pMsg
A jelenleg feldolgozott üzenetre mutat.

Visszaadott érték

Nemzero, ha OnIdle az üzenet feldolgozása után kell meghívni, ellenkező esetben 0.

Megjegyzések

Az alapértelmezett implementáció nem hívja meg OnIdle a villogó simogatók által generált redundáns egérüzeneteket és üzeneteket.

Ha egy alkalmazás létrehozott egy rövid időzítőt, OnIdle a rendszer gyakran hívja meg, ami teljesítményproblémát okoz. Egy ilyen alkalmazás teljesítményének javítása érdekében felülbírálhatja IsIdleMessage az alkalmazás CWinAppszármaztatott osztályában az üzeneteket az WM_TIMER alábbiak szerint:

BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
   if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
      return FALSE;
   else
      return TRUE;
}

Az ilyen módon történő kezelés WM_TIMER javítja a rövid időzítőket használó alkalmazások teljesítményét.

CWinThread::m_bAutoDelete

Megadja, hogy az CWinThread objektumot automatikusan törölni kell-e a szálvégzítéskor.

BOOL m_bAutoDelete;

Megjegyzések

Az m_bAutoDelete adattag egy BOOL típusú nyilvános változó.

Az érték m_bAutoDelete nem befolyásolja a mögöttes szálfogópont bezárását, de a leíró bezárásának időzítésére is hatással van. A szálfogópont mindig zárva van, amikor az CWinThread objektum megsemmisül.

CWinThread::m_hThread

Fogópont az ehhez CWinThreadcsatolt szálhoz .

HANDLE m_hThread;

Megjegyzések

Az m_hThread adattag egy nyilvános változótípus HANDLE. Csak akkor érvényes, ha az alapul szolgáló kernelszál-objektum jelenleg létezik, és a leíró még nem lett bezárva.

A CWinThread destruktor be van kapcsolva CloseHandlem_hThread. Ha m_bAutoDelete a TRUE szál leáll, a rendszer megsemmisíti az CWinThread objektumot, amely érvényteleníti az objektumra és annak CWinThread tagváltozóira mutató összes mutatót. Előfordulhat, hogy a m_hThread tagnak ellenőriznie kell a szál kilépési értékét, vagy várnia kell egy jelre. Ha meg szeretné tartani az objektumot és annak tagját m_hThread a CWinThread szál végrehajtása során és a leállása után, állítsa be m_bAutoDeleteFALSE, mielőtt engedélyezi a szálvégrehajtás folytatását. Ellenkező esetben a szál leállhat, megsemmisítheti az CWinThread objektumot, és bezárhatja a fogópontot, mielőtt megpróbálná használni. Ha ezt a technikát használja, ön a felelős az CWinThread objektum törléséért.

CWinThread::m_nThreadID

Az ehhez CWinThreada szálhoz csatolt szál azonosítója.

DWORD m_nThreadID;

Megjegyzések

Az m_nThreadID adattag egy nyilvános változótípus DWORD. Ez csak akkor érvényes, ha az alapul szolgáló kernelszál-objektum jelenleg létezik. Lásd még az élettartamra vonatkozó m_hThread megjegyzéseket.

Example

Lásd a példát a AfxGetThread.

CWinThread::m_pActiveWnd

Ezzel az adattagkal mutatót tárolhat a szál aktív ablakobjektumára.

CWnd* m_pActiveWnd;

Megjegyzések

A Microsoft Foundation osztálykönyvtára automatikusan leállítja a szálat, amikor a hivatkozott m_pActiveWnd ablak bezárul. Ha ez a szál egy alkalmazás elsődleges szála, az alkalmazás is leáll. Ha ez az adattag, NULLaz alkalmazás objektumának aktív ablaka CWinApp öröklődik. m_pActiveWnd a nyilvános változó típusa CWnd*.

Ezt a tagváltozót általában a felülbíráláskor InitInstanceállítja be. Egy feldolgozószálban ennek az adattagnak az értéke a szülőszálától öröklődik.

CWinThread::m_pMainWnd

Ezzel az adattagkal mutatót tárolhat a szál fő ablakobjektumára.

CWnd* m_pMainWnd;

Megjegyzések

A Microsoft Foundation osztálykönyvtára automatikusan leállítja a szálat, amikor a hivatkozott m_pMainWnd ablak bezárul. Ha ez a szál egy alkalmazás elsődleges szála, az alkalmazás is leáll. Ha ez az adattag, NULLaz alkalmazás objektumának főablaka CWinApp határozza meg, hogy mikor állítsa le a szálat. m_pMainWnd a nyilvános változó típusa CWnd*.

Ezt a tagváltozót általában a felülbíráláskor InitInstanceállítja be. Egy feldolgozószálban ennek az adattagnak az értéke a szülőszálától öröklődik.

CWinThread::OnIdle

A tagfüggvény felülbírálása tétlen idejű feldolgozáshoz.

virtual BOOL OnIdle(LONG lCount);

Paraméterek

lCount
A rendszer minden alkalommal OnIdle növekményes számlálót hív meg, amikor a szál üzenetsora üres. Ez a szám minden új üzenet feldolgozásakor 0-ra lesz visszaállítva. A paraméterrel lCount meghatározhatja, hogy a szál mennyi ideig tétlen volt üzenet feldolgozása nélkül.

Visszaadott érték

Nonzero, hogy több tétlen feldolgozási időt kapjon; 0, ha nincs szükség több üresjárati feldolgozási időre.

Megjegyzések

OnIdle akkor hívja meg a rendszer az alapértelmezett üzenethurkban, ha a szál üzenetsora üres. A felülbírálással meghívhatja a saját háttér tétlenség-kezelő feladatait.

OnIdle 0 értéket kell visszaadnia, hogy jelezze, nincs szükség további üresjárati feldolgozási időre. A lCount paraméter minden alkalommal OnIdle megnövekedik, amikor az üzenetsor üres, és minden új üzenet feldolgozásakor 0-ra állítja vissza. Ennek alapján meghívhatja a különböző tétlenségi rutinokat.

A tagfüggvény alapértelmezett implementációja ideiglenes objektumokat és nem használt dinamikus csatolási kódtárakat szabadít fel a memóriából.

Ez a tagfüggvény csak felhasználói felületi szálakban használható.

Mivel az alkalmazás nem tudja feldolgozni az üzeneteket, amíg vissza OnIdle nem tér, ne végezzen hosszú feladatokat ebben a függvényben.

CWinThread::operator HANDLE

Lekéri az objektum fogópontját CWinThread .

operator HANDLE() const;

Visszaadott érték

Ha sikeres, a szálobjektum fogópontja; egyéb esetben. NULL

Megjegyzések

A leíróval közvetlenül hívhatja meg a Windows API-kat.

CWinThread::PostThreadMessage

Felhasználó által definiált üzenet egy másik CWinThread objektumba való közzétételére hívva.

BOOL PostThreadMessage(
    UINT message,
    WPARAM wParam,
    LPARAM lParam);

Paraméterek

message
A felhasználó által megadott üzenet azonosítója.

wParam
Első üzenetparaméter.

lParam
Második üzenetparaméter.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A közzétett üzenetet az üzenettérkép makrója ON_THREAD_MESSAGEmegfelelteti a megfelelő üzenetkezelőnek.

Megjegyzés:

Híváskor PostThreadMessageaz üzenet a szál üzenetsorába kerül. Mivel azonban az így közzétett üzenetek nincsenek ablakhoz társítva, az MFC nem küldi el őket az üzenetkezelőknek vagy a parancskezelőknek. Az üzenetek kezeléséhez felül kell bírálnia a PreTranslateMessage() származtatott osztály függvényét CWinApp, és manuálisan kell kezelnie az üzeneteket.

CWinThread::PreTranslateMessage

Felülbírálja ezt a függvényt az ablaküzenetek szűréséhez, mielőtt elküldené őket a Windows-függvények TranslateMessage és DispatchMessagea .

virtual BOOL PreTranslateMessage(MSG* pMsg);

Paraméterek

pMsg
A feldolgozandó üzenetet tartalmazó struktúrára mutat.MSG

Visszaadott érték

Nonzero, ha az üzenet teljes mértékben fel lett dolgozva PreTranslateMessage , és nem szabad tovább feldolgozni. Nulla, ha az üzenetet a szokásos módon kell feldolgozni.

Megjegyzések

Ez a tagfüggvény csak felhasználói felületi szálakban használható.

CWinThread::ProcessMessageFilter

A keretrendszer horogfüggvénye meghívja ezt a tagfüggvényt bizonyos Windows-üzenetek szűrésére és megválaszolására.

virtual BOOL ProcessMessageFilter(
    int code,
    LPMSG lpMsg);

Paraméterek

code
Horogkódot ad meg. Ez a tagfüggvény a kód használatával határozza meg a feldolgozás módját lpMsg.

lpMsg
Egy Windows-struktúraMSG mutatója.

Visszaadott érték

Nonzero, ha az üzenet feldolgozása folyamatban van; egyéb esetben 0.

Megjegyzések

A horogfüggvények feldolgozzák az eseményeket, mielőtt elküldené őket az alkalmazás normál üzenetfeldolgozására.

Ha felülbírálja ezt a speciális funkciót, mindenképpen hívja meg az alaposztályú verziót a keretrendszer horogfeldolgozásának fenntartása érdekében.

CWinThread::ProcessWndProcException

A keretrendszer meghívja ezt a tagfüggvényt, ha a kezelő nem kap kivételt a szál üzenetében vagy parancskezelőiben.

virtual LRESULT ProcessWndProcException(
    CException* e,
    const MSG* pMsg);

Paraméterek

e
Nem kezelt kivételre mutat.

pMsg
Egy olyan struktúrára mutat,MSG amely információkat tartalmaz a windowsos üzenetről, amely miatt a keretrendszer kivételt okozott.

Visszaadott érték

-1 kivétel létrehozása esetén WM_CREATE ; egyébként 0.

Megjegyzések

Ne hívja meg közvetlenül ezt a tagfüggvényt.

A tagfüggvény alapértelmezett implementációja csak a következő üzenetekből létrehozott kivételeket kezeli:

Parancs Tevékenység
WM_CREATE Nem.
WM_PAINT Ellenőrizze az érintett ablakot, így megakadályozva egy másik WM_PAINT üzenet létrejöttét.

Felülbírálja ezt a tagfüggvényt a kivételek globális kezeléséhez. Csak akkor hívja meg az alapfunkciót, ha meg szeretné jeleníteni az alapértelmezett viselkedést.

Ez a tagfüggvény csak üzenetszivattyúval rendelkező szálakban használható.

CWinThread::PumpMessage

A szál üzenethurkját tartalmazza.

virtual BOOL PumpMessage();

Megjegyzések

PumpMessage tartalmazza a szál üzenethurkját. PumpMessage meghívja CWinThread a szál üzeneteinek pumpálásához. Közvetlenül felhívhatja PumpMessage az üzenetek feldolgozását, vagy felülbírálhatja PumpMessage az alapértelmezett viselkedését.

A közvetlen hívás PumpMessage és az alapértelmezett viselkedés felülírása csak a haladó felhasználók számára ajánlott.

CWinThread::ResumeThread

A tagfüggvény által felfüggesztett vagy a SuspendThread jelölővel CREATE_SUSPENDED létrehozott szál végrehajtásának folytatására hívható meg.

DWORD ResumeThread();

Visszaadott érték

Sikeres esetben a szál korábbi felfüggesztési száma; 0xFFFFFFFF Egyébként. Ha a visszatérési érték nulla, az aktuális szál nem lett felfüggesztve. Ha a visszatérési érték egy, a szál fel lett függesztve, de most újraindul. Az egynél nagyobb visszatérési érték azt jelenti, hogy a szál fel van függesztve.

Megjegyzések

Az aktuális szál felfüggesztési száma eggyel csökken. Ha a felfüggesztések száma nullára csökken, a szál folytatja a végrehajtást; ellenkező esetben a szál felfüggesztve marad.

CWinThread::Run

Alapértelmezett üzenethurkot biztosít a felhasználói felületi szálakhoz.

virtual int Run();

Visszaadott érték

A int szál által visszaadott érték. Ez az érték hívással GetExitCodeThreadkérhető le.

Megjegyzések

Run windowsos üzeneteket szerez be és küld el, amíg az alkalmazás nem kap üzenetet WM_QUIT . Ha a szál üzenetsora jelenleg nem tartalmaz üzeneteket, Run a hívások OnIdle tétlen idejű feldolgozást hajtanak végre. A bejövő üzenetek a PreTranslateMessage tagfüggvényre kerülnek speciális feldolgozás céljából, majd a Windows függvényre TranslateMessage a normál billentyűzetfordításhoz. Végül meghívja a DispatchMessage Windows függvényt.

Run ritkán van felülbírálva, de felülbírálhatja a speciális viselkedés implementálásához.

Ez a tagfüggvény csak felhasználói felületi szálakban használható.

CWinThread::SetThreadPriority

Ez a függvény az aktuális szál prioritási szintjét állítja be a prioritási osztályán belül.

BOOL SetThreadPriority(int nPriority);

Paraméterek

nPriority
Megadja az új szál prioritási szintjét a prioritási osztályon belül. Ennek a paraméternek a legmagasabb prioritástól a legalacsonyabbig az alábbi értékek egyikének kell lennie:

  • THREAD_PRIORITY_TIME_CRITICAL

  • THREAD_PRIORITY_HIGHEST

  • THREAD_PRIORITY_ABOVE_NORMAL

  • THREAD_PRIORITY_NORMAL

  • THREAD_PRIORITY_BELOW_NORMAL

  • THREAD_PRIORITY_LOWEST

  • THREAD_PRIORITY_IDLE

Ezekről a prioritásokról további információt a Windows SDK-ban talál SetThreadPriority .

Visszaadott érték

Nemzero, ha a függvény sikeres volt; egyéb esetben 0.

Megjegyzések

Csak a sikeres visszatérés után CreateThread hívható meg.

CWinThread::SuspendThread

Növeli az aktuális szál felfüggesztési számát.

DWORD SuspendThread();

Visszaadott érték

Sikeres esetben a szál korábbi felfüggesztési száma; 0xFFFFFFFF Egyébként.

Megjegyzések

Ha bármelyik szál felfüggesztési száma nullánál magasabb, az a szál nem fut. A szál a tagfüggvény meghívásával ResumeThread folytatható.

Lásd még

CCmdTarget osztály
hierarchiadiagram
CWinApp osztály
CCmdTarget osztály