SHCreateThread-Funktion (shlwapi.h)
Erstellt einen Thread.
Syntax
BOOL SHCreateThread(
[in] LPTHREAD_START_ROUTINE pfnThreadProc,
[in, optional] void *pData,
[in] SHCT_FLAGS flags,
[in, optional] LPTHREAD_START_ROUTINE pfnCallback
);
Parameter
[in] pfnThreadProc
Typ: LPTHREAD_START_ROUTINE
Ein Zeiger auf eine anwendungsdefinierte Funktion des LPTHREAD_START_ROUTINE Typs. Wenn ein neuer Thread erfolgreich erstellt wurde, wird diese anwendungsdefinierte Funktion im Kontext dieses Threads aufgerufen. SHCreateThread wartet nicht, bis die Funktion abgeschlossen ist, auf die von diesem Parameter verwiesen wird, bevor sie zum Aufrufer zurückkehrt. Der Rückgabewert der anwendungsdefinierten Funktion ist der Exitcode des Threads.
[in, optional] pData
Typ: void*
Ein Zeiger auf eine optionale anwendungsdefinierte Datenstruktur, die Initialisierungsdaten enthält. Es wird an die Funktion übergeben, auf die von pfnThreadProc und optional pfnCallback verwiesen wird. Dieser Wert kann NULL sein.
[in] flags
Typ: SHCT_FLAGS
Die Flags, die das Verhalten der Funktion steuern. Mindestens eine der CTF-Konstanten .
[in, optional] pfnCallback
Typ: LPTHREAD_START_ROUTINE
Ein Zeiger auf eine optionale anwendungsdefinierte Funktion des LPTHREAD_START_ROUTINE Typs. Diese Funktion wird im Kontext des erstellten Threads aufgerufen, bevor die Funktion aufgerufen wird, auf die pfnThreadProc verweist. Sie erhält auch pData als Argument. SHCreateThread wartet, bis die Funktion zurückgegeben wird, auf die von pfnCallback verwiesen wird, bevor es zum Aufrufer zurückkehrt. Der Rückgabewert der Funktion, auf die pfnCallback verweist, wird ignoriert.
Rückgabewert
Typ: BOOL
Gibt TRUE zurück, wenn der Thread erfolgreich erstellt wurde, oder andernfalls FALSE . Verwenden Sie bei einem Fehler GetLastError , um den spezifischen Fehlerwert abzurufen, wie hier gezeigt.
if (!SHCreateThread(...))
{
hr = HRESULT_FROM_WIN32( GetLastError() );
}
else
{
....
}
Hinweise
Die Funktion, auf die von pfnThreadProc und pfnCallback verwiesen wird, muss die folgende Form annehmen.
DWORD WINAPI ThreadProc(LPVOID pData)
{
...
}
Der Funktionsname ist beliebig. Der pData-Parameter verweist auf eine anwendungsdefinierte Datenstruktur mit Initialisierungsinformationen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shlwapi.h |
Bibliothek | Shlwapi.lib |
DLL | Shlwapi.dll (Version 5.0 oder höher) |