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.

96 lines
1.9 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //
  4. // Copyright (c) 1996, 1997 Microsoft Corporation
  5. //
  6. //
  7. // Module Name:
  8. // test.c
  9. //
  10. // Abstract:
  11. //
  12. //
  13. //
  14. // Author:
  15. //
  16. // P Porzuczek
  17. //
  18. // Environment:
  19. //
  20. // Revision History:
  21. //
  22. //
  23. //////////////////////////////////////////////////////////////////////////////
  24. //
  25. //
  26. #include <wdm.h>
  27. #include <memory.h>
  28. #include "Main.h"
  29. /////////////////////////////////////////////////////////////////////////////
  30. //
  31. // Default debug mode
  32. //
  33. ULONG TestDebugFlag = TEST_DBG_NONE;
  34. #if DBG
  35. /////////////////////////////////////////////////////////////////////////////
  36. // Debugging definitions
  37. //
  38. //
  39. // Debug tracing defintions
  40. //
  41. #define TEST_LOG_SIZE 256
  42. UCHAR TestLogBuffer[TEST_LOG_SIZE]={0};
  43. ULONG TestLogLoc = 0;
  44. /////////////////////////////////////////////////////////////////////////////
  45. //
  46. // Logging function in debug builds
  47. //
  48. extern VOID
  49. TestLog (
  50. UCHAR c // input character
  51. )
  52. /////////////////////////////////////////////////////////////////////////////
  53. {
  54. TestLogBuffer[TestLogLoc++] = c;
  55. TestLogBuffer[(TestLogLoc + 4) % TEST_LOG_SIZE] = '\0';
  56. if (TestLogLoc >= TEST_LOG_SIZE) {
  57. TestLogLoc = 0;
  58. }
  59. }
  60. #endif // DBG
  61. //////////////////////////////////////////////////////////////////////////////////////
  62. NTSTATUS
  63. DriverEntry (
  64. IN PDRIVER_OBJECT pDriverObject,
  65. IN PUNICODE_STRING pszuRegistryPath
  66. )
  67. //////////////////////////////////////////////////////////////////////////////////////
  68. {
  69. NTSTATUS ntStatus = STATUS_SUCCESS;
  70. //
  71. // Register the Mpe Class binding
  72. //
  73. ntStatus = MpeDriverInitialize (pDriverObject, pszuRegistryPath);
  74. if (ntStatus != STATUS_SUCCESS)
  75. {
  76. goto ret;
  77. }
  78. ret:
  79. TEST_DEBUG (TEST_DBG_TRACE, ("MPE: Driver Entry complete, ntStatus: %08X\n", ntStatus));
  80. return ntStatus;
  81. }