Source code of Windows XP (NT5)
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.

85 lines
2.0 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. ntddaux.h
  5. Abstract:
  6. This include file defines all constants and types for
  7. accessing an NT auxiliary sound devices.
  8. Author:
  9. Robin Speed (RobinSp) - 24-Aug-1992
  10. Revision History:
  11. --*/
  12. #ifndef _NTDDAUX_
  13. #define _NTDDAUX_
  14. #if _MSC_VER > 1000
  15. #pragma once
  16. #endif
  17. #include <ntddsnd.h> // general sound stuff
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. #define IOCTL_AUX_BASE 0x0100
  22. //
  23. // Device Name - this string is the name of the device. It is the name
  24. // that when added to the name of the root of the device tree and with
  25. // the device number appended, gives the name of the device required for
  26. // a call to NtOpenFile.
  27. // So for example, if the root is \Device and the Device type is
  28. // MMAux and the device number is 2, the full name is \Device\MMAux2
  29. //
  30. #define DD_AUX_DEVICE_NAME "\\Device\\MMAux"
  31. #define DD_AUX_DEVICE_NAME_U L"\\Device\\MMAux"
  32. //
  33. // WAVE device driver IOCTL set
  34. //
  35. #define IOCTL_AUX_GET_CAPABILITIES CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
  36. #define IOCTL_AUX_SET_VOLUME CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
  37. #define IOCTL_AUX_GET_VOLUME CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
  38. //
  39. // Input and output are AUX_DD_VOLUME structure.
  40. // Completes when real device volume != volume passed in.
  41. // Returns new volume
  42. //
  43. #define IOCTL_SOUND_GET_CHANGED_VOLUME CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
  44. //
  45. // Aux volume structure
  46. //
  47. typedef struct _AUX_DD_VOLUME {
  48. ULONG Left;
  49. ULONG Right;
  50. } AUX_DD_VOLUME, *PAUX_DD_VOLUME;
  51. #define AUX_DD_MAX_VOLUME 0xFFFFFFFF // Maximum volume
  52. //
  53. // Data returned by IOCTL_AUX_GET_CAPABILITIES is AUXCAPSW structure
  54. // defined in mmsystem.h
  55. //
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #endif // _NTDDAUX_