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.

112 lines
2.3 KiB

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