Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
IWorkerThreadClient ist die Schnittstelle, die von Clients der CWorkerThread-Klasse implementiert wird.
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
__interface IWorkerThreadClient
Member
Methoden
| Name | Beschreibung |
|---|---|
| Closehandle | Implementieren Sie diese Methode, um das diesem Objekt zugeordnete Handle zu schließen. |
| Ausführen | Implementieren Sie diese Methode, um Code auszuführen, wenn das diesem Objekt zugeordnete Handle signalisiert wird. |
Hinweise
Implementieren Sie diese Schnittstelle, wenn Sie Code haben, der in einem Arbeitsthread ausgeführt werden muss, um darauf zu reagieren, dass ein Handle signalisiert wird.
Anforderungen
Header: atlutil.h
IWorkerThreadClient::CloseHandle
Implementieren Sie diese Methode, um das diesem Objekt zugeordnete Handle zu schließen.
HRESULT CloseHandle(HANDLE hHandle);
Parameter
hHandle
Der zu schließende Ziehpunkt.
Rückgabewert
Gibt S_OK bei Erfolg zurück oder ein HRESULT-Fehler beim Fehler.
Hinweise
Das an diese Methode übergebene Handle wurde zuvor durch einen Aufruf von CWorkerThread::AddHandle diesem Objekt zugeordnet.
Beispiel
Der folgende Code zeigt eine einfache Implementierung von IWorkerThreadClient::CloseHandle.
HRESULT CloseHandle(HANDLE hObject)
{
// Users should do any shutdown operation required here.
// Generally, this means just closing the handle.
if (!::CloseHandle(hObject))
{
// Closing the handle failed for some reason.
return AtlHresultFromLastError();
}
return S_OK;
}
IWorkerThreadClient::Execute
Implementieren Sie diese Methode, um Code auszuführen, wenn das diesem Objekt zugeordnete Handle signalisiert wird.
HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject);
Parameter
dwParam
Der Benutzerparameter.
hObject
Der Ziehpunkt, der signalisiert wurde.
Rückgabewert
Gibt S_OK bei Erfolg zurück oder ein HRESULT-Fehler beim Fehler.
Hinweise
Der an diese Methode übergebene Handle und DWORD/Zeiger wurden zuvor durch einen Aufruf von CWorkerThread::AddHandle diesem Objekt zugeordnet.
Beispiel
Der folgende Code zeigt eine einfache Implementierung von IWorkerThreadClient::Execute.
HRESULT Execute(DWORD_PTR dwParam, HANDLE hObject)
{
// Cast the parameter to its known type.
LONG* pn = reinterpret_cast<LONG*>(dwParam);
// Increment the LONG.
LONG n = InterlockedIncrement(pn);
// Log the results.
printf_s("Handle 0x%08X incremented value to : %d\n", (DWORD_PTR)hObject, n);
return S_OK;
}