Bagikan melalui


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)

Lihat juga

CreateProcess

CreateThread

SHCreateThreadRef

SHGetThreadRef

SHReleaseThreadRef

SHSetThreadRef

Versi Shell dan Kontrol Umum