Windows NT 4.0 source code leak
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.

161 lines
2.8 KiB

4 years ago
  1. #include "dsdriver.h"
  2. //
  3. // DSOUND.VXD IOCTL wrapper prototypes
  4. //
  5. DSVAL vxdDrvGetNextDriverDesc
  6. (
  7. LPGUID pGuidPrev,
  8. LPGUID pGuid,
  9. PDSDRIVERDESC pDrvDesc
  10. );
  11. DSVAL vxdDrvGetDesc
  12. (
  13. REFGUID rguid,
  14. PDSDRIVERDESC pDrvDesc
  15. );
  16. DSVAL vxdDrvOpen
  17. (
  18. REFGUID rguid,
  19. LPHANDLE pHandle
  20. );
  21. DSVAL vxdDrvClose
  22. (
  23. HANDLE hDriver
  24. );
  25. HRESULT vxdDrvQueryInterface
  26. (
  27. HANDLE hDriver,
  28. REFIID riid,
  29. LPVOID *ppv
  30. );
  31. DSVAL vxdDrvGetCaps
  32. (
  33. HANDLE hDriver,
  34. PDSDRIVERCAPS pDrvCaps
  35. );
  36. DSVAL vxdDrvCreateSoundBuffer
  37. (
  38. HANDLE hDriver,
  39. LPWAVEFORMATEX pwfx,
  40. DWORD dwFlags,
  41. DWORD dwCardAddress,
  42. LPDWORD pdwcbBufferSize,
  43. LPBYTE *ppBuffer,
  44. LPVOID *ppv
  45. );
  46. DSVAL vxdDrvDuplicateSoundBuffer
  47. (
  48. HANDLE hDriver,
  49. HANDLE hBuffer,
  50. LPVOID *ppv
  51. );
  52. DSVAL vxdBufferRelease
  53. (
  54. HANDLE hBuffer
  55. );
  56. DSVAL vxdBufferLock
  57. (
  58. HANDLE hBuffer,
  59. LPLPVOID ppvAudio1,
  60. LPDWORD pdwLen1,
  61. LPLPVOID ppvAudio2,
  62. LPDWORD pdwLen2,
  63. DWORD dwWritePosition,
  64. DWORD dwWriteLen,
  65. DWORD dwFlags
  66. );
  67. DSVAL vxdBufferUnlock
  68. (
  69. HANDLE hBuffer,
  70. LPVOID pvAudio1,
  71. DWORD dwLen1,
  72. LPVOID pvAudio2,
  73. DWORD dwLen2
  74. );
  75. DSVAL vxdBufferSetFormat
  76. (
  77. HANDLE hBuffer,
  78. LPWAVEFORMATEX pwfxToSet
  79. );
  80. DSVAL vxdBufferSetFrequency
  81. (
  82. HANDLE hBuffer,
  83. DWORD dwFrequency
  84. );
  85. DSVAL vxdBufferSetVolumePan
  86. (
  87. HANDLE hBuffer,
  88. PDSVOLUMEPAN pVolPan
  89. );
  90. DSVAL vxdBufferSetPosition
  91. (
  92. HANDLE hBuffer,
  93. DWORD dwNewPosition
  94. );
  95. DSVAL vxdBufferGetPosition
  96. (
  97. HANDLE hBuffer,
  98. LPDWORD lpdwCurrentPlayCursor,
  99. LPDWORD lpdwCurrentWriteCursor
  100. );
  101. DSVAL vxdBufferPlay
  102. (
  103. HANDLE hBuffer,
  104. DWORD dwReserved1,
  105. DWORD dwReserved2,
  106. DWORD dwFlags
  107. );
  108. DSVAL vxdBufferStop
  109. (
  110. HANDLE hBuffer
  111. );
  112. //===========================================================================
  113. //
  114. // Event api prototypes
  115. //
  116. //===========================================================================
  117. BOOL vxdEventScheduleWin32Event(DWORD vxdhEvent, DWORD dwDelay);
  118. BOOL vxdEventCloseVxDHandle(DWORD vxdhEvent);
  119. //===========================================================================
  120. //
  121. // Mem api prototypes
  122. //
  123. //===========================================================================
  124. LPVOID vxdMemReserveAlias(LPVOID pBuffer, DWORD cbBuffer);
  125. BOOL vxdMemCommitAlias(LPVOID pAlias, LPVOID pBuffer, DWORD cbBuffer);
  126. BOOL vxdMemRedirectAlias(LPVOID pAlias, DWORD cbBuffer);
  127. BOOL vxdMemDecommitAlias(LPVOID pAlias, DWORD cbBuffer);
  128. BOOL vxdMemFreeAlias(LPVOID pAlias, DWORD cbBuffer);
  129. //===========================================================================
  130. //
  131. // HEL VxD wrapper prototypes
  132. //
  133. //===========================================================================
  134. HANDLE DSVXD_Open(LPSTR HEL_name);
  135. DSVAL DSVXD_Initialize(HANDLE hVxD);
  136. DSVAL DSVXD_Shutdown(HANDLE hVxD);
  137. void DSVXD_Close(HANDLE hVxD);