怎么根据频率和音量大小生成wav音频文件

如何根据频率和音量大小生成wav音频文件?
平台:wince6.0 vs2008 vc++

请教:如何根据频率、音量大小和持续时间,生成wav音频文件。。。wav文件的格式我知道,就是其中的音频数据不知道和频率、音量如何对应的。
void Create(int freq, int volume, int durations)
{
  。。。。
}
就是写函数生成一个wav文件,相当于能发出像Beep(freq, durations)的声音。
比如我要生成1段1KHZ,音量为80,持续300ms的wav文件,该怎么编写音频数据格式??

------解决方案--------------------
参考:http://topic.csdn.net/u/20120427/15/e3ea51eb-d334-4c03-9b24-2b364b9e182b.html?seed=74510086&r=78407870#r_78407870