Función SHCreateThread (shlwapi.h)
Crea un subproceso.
Sintaxis
BOOL SHCreateThread(
[in] LPTHREAD_START_ROUTINE pfnThreadProc,
[in, optional] void *pData,
[in] SHCT_FLAGS flags,
[in, optional] LPTHREAD_START_ROUTINE pfnCallback
);
Parámetros
[in] pfnThreadProc
Tipo: LPTHREAD_START_ROUTINE
Puntero a una función definida por la aplicación del tipo LPTHREAD_START_ROUTINE . Si se creó correctamente un nuevo subproceso, se llama a esta función definida por la aplicación en el contexto de ese subproceso. SHCreateThread no espera a que se complete la función a la que apunta este parámetro antes de volver a su llamador. El valor devuelto de la función definida por la aplicación es el código de salida del subproceso.
[in, optional] pData
Tipo: void*
Puntero a una estructura de datos opcional definida por la aplicación que contiene datos de inicialización. Se pasa a la función a la que apunta pfnThreadProc y, opcionalmente, pfnCallback. Este valor puede ser NULL.
[in] flags
Tipo: SHCT_FLAGS
Marcas que controlan el comportamiento de la función. Una o varias de las constantes CTF .
[in, optional] pfnCallback
Tipo: LPTHREAD_START_ROUTINE
Puntero a una función opcional definida por la aplicación del tipo LPTHREAD_START_ROUTINE . Se llama a esta función en el contexto del subproceso creado antes de llamar a la función a la que apunta pfnThreadProc . También recibirá pData como argumento. SHCreateThread esperará a que la función a la que apunta pfnCallback vuelva antes de volver a su llamador. El valor devuelto de la función a la que apunta pfnCallback se omite.
Valor devuelto
Tipo: BOOL
Devuelve TRUE si el subproceso se ha creado correctamente o FALSE en caso contrario. Si se produce un error, use GetLastError para recuperar el valor de error específico como se muestra aquí.
if (!SHCreateThread(...))
{
hr = HRESULT_FROM_WIN32( GetLastError() );
}
else
{
....
}
Comentarios
La función a la que apunta pfnThreadProc y pfnCallback debe tener el siguiente formato.
DWORD WINAPI ThreadProc(LPVOID pData)
{
...
}
El nombre de la función es arbitrario. El parámetro pData apunta a una estructura de datos definida por la aplicación con información de inicialización.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Library | Shlwapi.lib |
Archivo DLL | Shlwapi.dll (versión 5.0 o posterior) |