Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

399 lines
9.8 KiB

  1. /* Copyright (c) 1998-1999 Microsoft Corporation
  2. Thunked entry points to DMUSIC16.DLL
  3. */
  4. enablemapdirect3216 = true;
  5. typedef unsigned short USHORT;
  6. typedef short SHORT;
  7. typedef unsigned long ULONG;
  8. typedef long LONG;
  9. typedef unsigned int UINT;
  10. typedef int INT;
  11. typedef unsigned char UCHAR;
  12. typedef LONG LPARAM;
  13. typedef LONG LRESULT;
  14. typedef void *LPVOID;
  15. typedef UCHAR BYTE;
  16. typedef USHORT WORD;
  17. typedef ULONG DWORD;
  18. typedef UINT HANDLE;
  19. typedef WORD HANDLE16;
  20. typedef DWORD HANDLE32;
  21. typedef int BOOL;
  22. typedef char *LPSTR;
  23. typedef char *LPCSTR;
  24. typedef BYTE *PBYTE;
  25. typedef BYTE *LPBYTE;
  26. typedef DWORD *LPDWORD;
  27. typedef WORD *LPWORD;
  28. typedef DWORD HRESULT;
  29. typedef HANDLE HWND;
  30. typedef HANDLE HINSTANCE;
  31. typedef HANDLE HTASK;
  32. /**********************************************/
  33. typedef UINT VERSION;
  34. typedef UINT MMRESULT;
  35. typedef DWORD MCIERROR;
  36. typedef UINT MCIDEVICEID;
  37. typedef UINT *LPUINT;
  38. typedef HANDLE HMMIO;
  39. typedef DWORD FOURCC;
  40. typedef char *HPSTR;
  41. /*typedef DWORD DRVCALLBACK;*/
  42. typedef void *LPMMIOPROC;
  43. typedef void *LPDRVCALLBACK;
  44. typedef void *LPTIMECALLBACK;
  45. typedef void *YIELDPROC;
  46. typedef struct tagMMTIME {
  47. UINT wType;
  48. BYTE hour;
  49. BYTE min;
  50. BYTE sec;
  51. BYTE frame;
  52. BYTE fps;
  53. BYTE dummy;
  54. } MMTIME;
  55. typedef MMTIME *LPMMTIME;
  56. typedef struct tagDRVCONFIGINFO {
  57. DWORD dwDCISize;
  58. LPCSTR lpszDCISectionName;
  59. LPCSTR lpszDCIAliasName;
  60. } DRVCONFIGINFO;
  61. typedef DRVCONFIGINFO *LPDRVCONFIGINFO;
  62. typedef HANDLE HSOUNDEVENT;
  63. typedef HSOUNDEVENT *LPHSOUNDEVENT;
  64. typedef HANDLE HMREGNOTIFY;
  65. typedef HANDLE HWAVE;
  66. typedef HANDLE HWAVEIN;
  67. typedef HANDLE HWAVEOUT;
  68. typedef HWAVEIN *LPHWAVEIN;
  69. typedef HWAVEOUT *LPHWAVEOUT;
  70. typedef void *LPWAVECALLBACK;
  71. typedef struct tagWAVEHDR {
  72. LPBYTE lpData;
  73. DWORD dwBufferLength;
  74. DWORD dwBytesRecorded;
  75. DWORD dwUser;
  76. DWORD dwFlags;
  77. DWORD dwLoops;
  78. LPBYTE lpNext;
  79. DWORD reserved;
  80. } WAVEHDR;
  81. typedef WAVEHDR *LPWAVEHDR;
  82. typedef struct tagWAVEOUTCAPS {
  83. WORD wMid;
  84. WORD wPid;
  85. VERSION vDriverVersion;
  86. char szPname[32];
  87. DWORD dwFormats;
  88. WORD wChannels;
  89. DWORD dwSupport;
  90. } WAVEOUTCAPS;
  91. typedef WAVEOUTCAPS *LPWAVEOUTCAPS;
  92. typedef struct tagWAVEINCAPS {
  93. WORD wMid;
  94. WORD wPid;
  95. VERSION vDriverVersion;
  96. char szPname[32];
  97. DWORD dwFormats;
  98. WORD wChannels;
  99. } WAVEINCAPS;
  100. typedef WAVEINCAPS *LPWAVEINCAPS;
  101. typedef struct tagWAVEFORMAT {
  102. WORD wFormatTag;
  103. WORD nChannels;
  104. DWORD nSamplesPerSec;
  105. DWORD nAvgBytesPerSec;
  106. WORD nBlockAlign;
  107. } WAVEFORMAT;
  108. typedef WAVEFORMAT *LPWAVEFORMAT;
  109. typedef struct tagPCMWAVEFORMAT {
  110. WAVEFORMAT wf;
  111. WORD wBitsPerSample;
  112. } PCMWAVEFORMAT;
  113. typedef PCMWAVEFORMAT *LPPCMWAVEFORMAT;
  114. typedef struct tagWAVEFORMATEX {
  115. WORD wFormatTag;
  116. WORD nChannels;
  117. DWORD nSamplesPerSec;
  118. DWORD nAvgBytesPerSec;
  119. WORD nBlockAlign;
  120. WORD wBitsPerSample;
  121. WORD cbSize;
  122. } WAVEFORMATEX;
  123. typedef WAVEFORMATEX *LPWAVEFORMATEX;
  124. typedef HANDLE HMIDI;
  125. typedef HANDLE HMIDIIN;
  126. typedef HANDLE HMIDIOUT;
  127. typedef HMIDIIN *LPHMIDIIN;
  128. typedef HMIDIOUT *LPHMIDIOUT;
  129. typedef void *LPMIDICALLBACK;
  130. typedef WORD PATCHARRAY[128];
  131. typedef WORD *LPPATCHARRAY;
  132. typedef WORD KEYARRAY[128];
  133. typedef WORD *LPKEYARRAY;
  134. typedef struct tagMIDIOUTCAPS {
  135. WORD wMid;
  136. WORD wPid;
  137. VERSION vDriverVersion;
  138. char szPname[32];
  139. WORD wTechnology;
  140. WORD wVoices;
  141. WORD wNotes;
  142. WORD wChannelMask;
  143. DWORD dwSupport;
  144. } MIDIOUTCAPS;
  145. typedef MIDIOUTCAPS *LPMIDIOUTCAPS;
  146. typedef struct tagMIDIINCAPS {
  147. WORD wMid;
  148. WORD wPid;
  149. VERSION vDriverVersion;
  150. char szPname[32];
  151. DWORD dwSupport;
  152. } MIDIINCAPS;
  153. typedef MIDIINCAPS *LPMIDIINCAPS;
  154. typedef struct tagMIDIHDR {
  155. LPBYTE lpData;
  156. DWORD dwBufferLength;
  157. DWORD dwBytesRecorded;
  158. DWORD dwUser;
  159. DWORD dwFlags;
  160. LPBYTE lpNext;
  161. DWORD reserved;
  162. } MIDIHDR;
  163. typedef MIDIHDR *LPMIDIHDR;
  164. typedef struct tagAUXCAPS {
  165. WORD wMid;
  166. WORD wPid;
  167. VERSION vDriverVersion;
  168. char szPname[32];
  169. WORD wTechnology;
  170. DWORD dwSupport;
  171. } AUXCAPS;
  172. typedef AUXCAPS *LPAUXCAPS;
  173. typedef HANDLE HMIXER;
  174. typedef HMIXER *LPHMIXER;
  175. typedef HANDLE HMIXEROBJ;
  176. typedef HMIXEROBJ *LPHMIXEROBJ;
  177. typedef struct tagMIXERCAPS {
  178. WORD wMid;
  179. WORD wPid;
  180. VERSION vDriverVersion;
  181. char szPname[32];
  182. DWORD fdwSupport;
  183. DWORD cDestinations;
  184. } MIXERCAPS;
  185. typedef MIXERCAPS *LPMIXERCAPS;
  186. typedef struct tagMIXERLINE {
  187. DWORD cbStruct;
  188. DWORD dwDestination;
  189. DWORD dwSource;
  190. DWORD dwLineID;
  191. DWORD fdwLine;
  192. DWORD dwUser;
  193. DWORD dwComponentType;
  194. DWORD cChannels;
  195. DWORD cConnections;
  196. DWORD cControls;
  197. char szShortName[16];
  198. char szName[64];
  199. DWORD dwType;
  200. DWORD dwDeviceID;
  201. WORD wMid;
  202. WORD wPid;
  203. VERSION vDriverVersion;
  204. char szPname[32];
  205. } MIXERLINE;
  206. typedef MIXERLINE *LPMIXERLINE;
  207. typedef struct tagMIXERCONTROL {
  208. DWORD cbStruct;
  209. DWORD dwControlID;
  210. DWORD dwControlType;
  211. DWORD fdwControl;
  212. DWORD cMultipleItems;
  213. char szShortName[16];
  214. char szName[64];
  215. DWORD dwReserved1[6];
  216. DWORD dwReserved2[6];
  217. } MIXERCONTROL;
  218. typedef MIXERCONTROL *LPMIXERCONTROL;
  219. typedef struct tagMIXERLINECONTROLS {
  220. DWORD cbStruct;
  221. DWORD dwLineID;
  222. DWORD dwControlID;
  223. DWORD cControls;
  224. DWORD cbmxctrl;
  225. LPMIXERCONTROL pamxctrl;
  226. } MIXERLINECONTROLS;
  227. typedef MIXERLINECONTROLS *LPMIXERLINECONTROLS;
  228. typedef struct tagMIXERCONTROLDETAILS {
  229. DWORD cbStruct;
  230. DWORD dwControlID;
  231. DWORD cChannels;
  232. DWORD cMultipleItems; /*HWND hwndOwner;*/
  233. DWORD cbDetails;
  234. LPVOID paDetails;
  235. } MIXERCONTROLDETAILS;
  236. typedef MIXERCONTROLDETAILS *LPMIXERCONTROLDETAILS;
  237. typedef struct tagMIXERCONTROLDETAILS_LISTTEXT {
  238. DWORD dwParam1;
  239. DWORD dwParam2;
  240. char szName[64];
  241. } MIXERCONTROLDETAILS_LISTTEXT;
  242. typedef MIXERCONTROLDETAILS_LISTTEXT *LPMIXERCONTROLDETAILS_LISTTEXT;
  243. typedef struct tagMIXERCONTROLDETAILS_BOOLEAN {
  244. LONG fValue;
  245. } MIXERCONTROLDETAILS_BOOLEAN;
  246. typedef MIXERCONTROLDETAILS_BOOLEAN *LPMIXERCONTROLDETAILS_BOOLEAN;
  247. typedef struct tagMIXERCONTROLDETAILS_SIGNED {
  248. LONG lValue;
  249. } MIXERCONTROLDETAILS_SIGNED;
  250. typedef MIXERCONTROLDETAILS_SIGNED *LPMIXERCONTROLDETAILS_SIGNED;
  251. typedef struct tagMIXERCONTROLDETAILS_UNSIGNED {
  252. DWORD dwValue;
  253. } MIXERCONTROLDETAILS_UNSIGNED;
  254. typedef MIXERCONTROLDETAILS_UNSIGNED *LPMIXERCONTROLDETAILS_UNSIGNED;
  255. typedef struct tagJOYCAPS {
  256. WORD wMid;
  257. WORD wPid;
  258. char szPname[32];
  259. UINT wXmin;
  260. UINT wXmax;
  261. UINT wYmin;
  262. UINT wYmax;
  263. UINT wZmin;
  264. UINT wZmax;
  265. UINT wNumButtons;
  266. UINT wPeriodMin;
  267. UINT wPeriodMax;
  268. UINT wRmin;
  269. UINT wRmax;
  270. UINT wUmin;
  271. UINT wUmax;
  272. UINT wVmin;
  273. UINT wVmax;
  274. UINT wCaps;
  275. UINT wMaxAxes;
  276. UINT wNumAxes;
  277. UINT wMaxButtons;
  278. char szRegKey[32];
  279. char szOEMVxD[260];
  280. } JOYCAPS;
  281. typedef JOYCAPS *LPJOYCAPS;
  282. typedef struct tagMIDIPACKITEM {
  283. DWORD cbStruct;
  284. DWORD dwDelta;
  285. DWORD dwEvent;
  286. DWORD cbLongEvent;
  287. LPBYTE lpLongEvent;
  288. } MIDIPACKITEM;
  289. typedef MIDIPACKITEM *LPMIDIPACKITEM;
  290. typedef struct tagMMCKINFO {
  291. FOURCC ckid;
  292. DWORD cksize;
  293. FOURCC fccType;
  294. DWORD dwDataOffset;
  295. DWORD dwFlags;
  296. } MMCKINFO;
  297. typedef MMCKINFO *LPMMCKINFO;
  298. typedef struct tagMMIOINFO
  299. {
  300. DWORD dwFlags;
  301. FOURCC fccIOProc;
  302. LPMMIOPROC pIOProc;
  303. UINT wErrorRet;
  304. HTASK htask;
  305. LONG cchBuffer;
  306. HPSTR pchBuffer;
  307. HPSTR pchNext;
  308. HPSTR pchEndRead;
  309. HPSTR pchEndWrite;
  310. LONG lBufOffset;
  311. LONG lDiskOffset;
  312. DWORD adwInfo[3];
  313. DWORD dwReserved1;
  314. DWORD dwReserved2;
  315. HMMIO hmmio;
  316. } MMIOINFO;
  317. typedef MMIOINFO *LPMMIOINFO;
  318. typedef struct tagTIMECAPS {
  319. UINT wPeriodMin;
  320. UINT wPeriodMax;
  321. } TIMECAPS;
  322. typedef TIMECAPS *LPTIMECAPS;
  323. void dmUntileBuffer(DWORD dwTilingInfo)
  324. {
  325. }
  326. DWORD dmTileBuffer(DWORD dwFlatMemory, DWORD dwLength)
  327. {
  328. }
  329. MMRESULT OpenLegacyDevice(UINT id, BOOL fIsOutput, BOOL fShare, HANDLE *ph)
  330. {
  331. }
  332. MMRESULT CloseLegacyDevice(HANDLE h)
  333. {
  334. }
  335. MMRESULT ActivateLegacyDevice(HANDLE h, BOOL fActivate)
  336. {
  337. }
  338. MMRESULT MidiOutSubmitPlaybackBuffer(HANDLE hMidiOut, DWORD pbBuffer, DWORD cbBuffer, DWORD msStartTime, DWORD rtStartTimeLow, DWORD rtStartTimeHigh)
  339. {
  340. }
  341. MMRESULT MidiInSetEventHandle(HANDLE hMidiIn, DWORD hEvent)
  342. {
  343. }
  344. MMRESULT MidiInRead(HANDLE hMidiIn, DWORD pbBuffer, DWORD *cbBuffer, DWORD *msStartTime)
  345. {
  346. }
  347. MMRESULT MidiInThru(HANDLE hMidiIn, DWORD dwFrom, DWORD dwTo, HANDLE hMidiOut)
  348. {
  349. }