HANDLE hThread[3];
Data data = { ... };
hThread[0] = (HANDLE)::_beginthread(func1, 0, &data);
hThread[1] = (HANDLE)::_beginthread(func2, 0, &data);
hThread[2] = (HANDLE)::_beginthread(func3, 0, &data);
::WaitForMultipleObjects(3, hThread, TRUE, INFINITE);
::CloseHandle(hThread[0]);
::CloseHandle(hThread[1]);
::CloseHandle(hThread[2]);

7行目のコードの実行で
hoge.exe の 0x7c94e4ff で初回の例外が発生しました: 0xC0000008: An invalid handle was specified
というエラーが出ます。
どうすればいいのでしょうか?