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.

94 lines
2.6 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Module: vsl.h
  4. //
  5. // Description: Virtual Source Line Class
  6. //
  7. //
  8. //@@BEGIN_MSINTERNAL
  9. // Development Team:
  10. // Mike McLaughlin
  11. //
  12. // History: Date Author Comment
  13. //
  14. //@@END_MSINTERNAL
  15. //---------------------------------------------------------------------------
  16. //
  17. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  18. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  19. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  20. // PURPOSE.
  21. //
  22. // Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved.
  23. //
  24. //---------------------------------------------------------------------------
  25. //---------------------------------------------------------------------------
  26. // Constants and Macros
  27. //---------------------------------------------------------------------------
  28. #define VSL_FLAGS_CREATE_ONLY 0x00000001
  29. //---------------------------------------------------------------------------
  30. // Classes
  31. //---------------------------------------------------------------------------
  32. typedef class CVirtualSourceLine : public CListSingleItem
  33. {
  34. public:
  35. CVirtualSourceLine(
  36. PSYSAUDIO_CREATE_VIRTUAL_SOURCE pCreateVirtualSource
  37. );
  38. ~CVirtualSourceLine(
  39. );
  40. #ifdef DEBUG
  41. ENUMFUNC Dump(
  42. )
  43. {
  44. dprintf("VSL: %08x i %d ulFlags %08x ", this, iVirtualSource, ulFlags);
  45. if(ulFlags & VSL_FLAGS_CREATE_ONLY) {
  46. dprintf("CREATE_ONLY ");
  47. }
  48. dprintf("\n guidCategory: %s\n", DbgGuid2Sz(&guidCategory));
  49. dprintf(" guidName: %s\n", DbgGuid2Sz(&guidName));
  50. return(STATUS_CONTINUE);
  51. };
  52. #endif
  53. ENUMFUNC Destroy(
  54. )
  55. {
  56. Assert(this);
  57. delete this;
  58. return(STATUS_CONTINUE);
  59. };
  60. GUID guidCategory;
  61. GUID guidName;
  62. ULONG iVirtualSource;
  63. ULONG ulFlags;
  64. DefineSignature(0x204C5356); // VSL
  65. } VIRTUAL_SOURCE_LINE, *PVIRTUAL_SOURCE_LINE;
  66. //---------------------------------------------------------------------------
  67. typedef ListSingleDestroy<VIRTUAL_SOURCE_LINE> LIST_VIRTUAL_SOURCE_LINE;
  68. typedef LIST_VIRTUAL_SOURCE_LINE *PLIST_VIRTUAL_SOURCE_LINE;
  69. //---------------------------------------------------------------------------
  70. // Globals
  71. //---------------------------------------------------------------------------
  72. extern PLIST_VIRTUAL_SOURCE_LINE gplstVirtualSourceLine;
  73. extern ULONG gcVirtualSources;
  74. //---------------------------------------------------------------------------
  75. // Local prototypes
  76. //---------------------------------------------------------------------------
  77. NTSTATUS
  78. InitializeVirtualSourceLine(
  79. );
  80. VOID
  81. UninitializeVirtualSourceLine(
  82. );