Fungsi SHCreateThread (shlwapi.h)
Membuat utas.
Sintaks
BOOL SHCreateThread(
[in] LPTHREAD_START_ROUTINE pfnThreadProc,
[in, optional] void *pData,
[in] SHCT_FLAGS flags,
[in, optional] LPTHREAD_START_ROUTINE pfnCallback
);
Parameter
[in] pfnThreadProc
Jenis: LPTHREAD_START_ROUTINE
Penunjuk ke fungsi yang ditentukan aplikasi dari jenis LPTHREAD_START_ROUTINE . Jika utas baru berhasil dibuat, fungsi yang ditentukan aplikasi ini dipanggil dalam konteks utas tersebut. SHCreateThread tidak menunggu fungsi yang ditunjukkan oleh parameter ini selesai sebelum kembali ke pemanggilnya. Nilai pengembalian fungsi yang ditentukan aplikasi adalah kode keluar dari utas.
[in, optional] pData
Jenis: void*
Penunjuk ke struktur data opsional yang ditentukan aplikasi yang berisi data inisialisasi. Ini diteruskan ke fungsi yang ditunjukkan oleh pfnThreadProc dan, secara opsional, pfnCallback. Nilai ini bisa NULL.
[in] flags
Jenis: SHCT_FLAGS
Bendera yang mengontrol perilaku fungsi. Satu atau beberapa konstanta CTF .
[in, optional] pfnCallback
Jenis: LPTHREAD_START_ROUTINE
Penunjuk ke fungsi opsional yang ditentukan aplikasi dari jenis LPTHREAD_START_ROUTINE . Fungsi ini dipanggil dalam konteks utas yang dibuat sebelum fungsi yang ditunjukkan oleh pfnThreadProc dipanggil. Ini juga akan menerima pData sebagai argumennya. SHCreateThread akan menunggu fungsi yang ditunjukkan oleh pfnCallback untuk kembali sebelum kembali ke pemanggilnya. Nilai yang dikembalikan dari fungsi yang ditunjukkan oleh pfnCallback diabaikan.
Mengembalikan nilai
Jenis: BOOL
Mengembalikan TRUE jika utas berhasil dibuat, atau FALSE jika tidak. Jika gagal, gunakan GetLastError untuk mengambil nilai kesalahan tertentu seperti yang ditunjukkan di sini.
if (!SHCreateThread(...))
{
hr = HRESULT_FROM_WIN32( GetLastError() );
}
else
{
....
}
Keterangan
Fungsi yang ditunjukkan oleh pfnThreadProc dan pfnCallback harus mengambil formulir berikut.
DWORD WINAPI ThreadProc(LPVOID pData)
{
...
}
Nama fungsi bersifat arbitrer. Parameter pData menunjuk ke struktur data yang ditentukan aplikasi dengan informasi inisialisasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional, Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlwapi.h |
Pustaka | Shlwapi.lib |
DLL | Shlwapi.dll (versi 5.0 atau yang lebih baru) |