请教怎么结束当前dll中的线程

请问如何结束当前dll中的线程
一个dll中有多个线程,其中A线程又创建多个线程,A1、A2、A3...,请问怎么在B线程中结束A线程以及A创建的所有线程。
如果 PostThreadMessage(AThreadId,WM_QUIT,NULL,NULL); 这样只能退出A的线程,但是A1、A2、A3...,还是会继续执行

------解决方案--------------------
创建A1,A2,。。都保存一下线程句柄,或者提供方法能访问到线程句柄,然后B给这些句柄PostThreadMessage
------解决方案--------------------
你用一个map表表示线程id对应的创建出来的线程id,这样在每个线程结束时,想它所创建的线程发送退出的消息就可以了
------解决方案--------------------
其它的也按照类似的方式去做啊,A线程线程要退出之前也通知其它的子线程退出,然后自己再退出,一个道理啊。