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.
 
 
 
 
 
 

119 lines
2.3 KiB

/////////////////////////////////////////////////////////////////////////////
//
//
// Copyright (c) 1996, 1997 Microsoft Corporation
//
//
// Module Name:
// test.c
//
// Abstract:
//
// This file is a test to find out if dual binding to NDIS and KS works
//
// Author:
//
// P Porzuczek
//
// Environment:
//
// Revision History:
//
//
//////////////////////////////////////////////////////////////////////////////
//
//
#include <forward.h>
#include <memory.h>
#include <ndis.h>
#include <link.h>
#include <ipsink.h>
#include "Main.h"
#include "NdisApi.h"
/////////////////////////////////////////////////////////////////////////////
//
// Highest accepatble memory address
//
NDIS_HANDLE global_ndishWrapper = NULL;
/////////////////////////////////////////////////////////////////////////////
//
// Default debug mode
//
ULONG TestDebugFlag = 0;
//ULONG TestDebugFlag = TEST_DBG_INFO | TEST_DBG_ERROR;
#ifdef DBG
/////////////////////////////////////////////////////////////////////////////
// Debugging definitions
//
//
// Debug tracing defintions
//
#define TEST_LOG_SIZE 256
UCHAR TestLogBuffer[TEST_LOG_SIZE]={0};
UINT TestLogLoc = 0;
/////////////////////////////////////////////////////////////////////////////
//
// Logging function in debug builds
//
extern VOID
TestLog (
UCHAR c // input character
)
/////////////////////////////////////////////////////////////////////////////
{
TestLogBuffer[TestLogLoc++] = c;
TestLogBuffer[(TestLogLoc + 4) % TEST_LOG_SIZE] = '\0';
if (TestLogLoc >= TEST_LOG_SIZE) {
TestLogLoc = 0;
}
}
#endif // DBG
//////////////////////////////////////////////////////////////////////////////////////
NTSTATUS
DriverEntry (
IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING pszuRegistryPath
)
//////////////////////////////////////////////////////////////////////////////////////
{
NTSTATUS ntStatus = STATUS_SUCCESS;
#ifdef BREAK_ON_STARTUP
_asm {int 3};
#endif
//
// Register the NDIS binding
//
ntStatus = NdisDriverInitialize (pDriverObject, pszuRegistryPath, &global_ndishWrapper);
if (ntStatus != STATUS_SUCCESS)
{
goto ret;
}
ret:
TEST_DEBUG (TEST_DBG_TRACE, ("Driver Entry complete, ntStatus: %08X\n", ntStatus));
return ntStatus;
}