Freigeben über


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)

Weitere Informationen

CreateProcess

CreateThread

SHCreateThreadRef

SHGetThreadRef

SHReleaseThreadRef

SHSetThreadRef

Shell- und allgemeine Steuerelementversionen