Leaked source code of windows server 2003
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.
 
 
 
 
 
 

74 lines
2.0 KiB

// @doc
/**********************************************************************
*
* @module HIDSWVD.h |
*
* Definitions and Declarations for Dummy Hid-Mini driver for virtual devices
*
* History
* ----------------------------------------------------------
* Mitchell S. Dernis Original
*
* (c) 1986-1998 Microsoft Corporation. All right reserved.
*
* @topic HIDSWVD |
* The SideWinder Virtual Bus (SWVB) that is created by GcKernel needs a dummy
* driver in order to expose HID devices. The difficulty is that HIDCLASS
* really does require a separate layer for these device objects.
* This driver fits the bill. It does absolutely nothing, except pass IRPs down
* to the SWVB module in GcKernel which handles everything.
**********************************************************************/
// @struct HIDSWVB_EXTENSION | Minimum HID device extension.
typedef struct tagHIDSWVB_EXTENSION
{
ULONG ulReserved; // @field a Placeholder as extension needs non-zero size
} HIDSWVB_EXTENSION, *PHIDSWVB_EXTENSION;
//---------------------------------------------------------------------------
// Function prototypes
//---------------------------------------------------------------------------
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING registryPath
);
NTSTATUS
HIDSWVD_PassThrough(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
NTSTATUS
HIDSWVD_AddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT FunctionalDeviceObject
);
NTSTATUS
HIDSWVD_Power
(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
VOID
HIDSWVD_Unload(
IN PDRIVER_OBJECT DriverObject
);
//-------------------------------------------------------------------------------
// Debug macros
//-------------------------------------------------------------------------------
#if (DBG==1)
#define HIDSWVD_DBG_PRINT(__x__)\
{\
DbgPrint("HIDSWVD: ");\
DbgPrint __x__;\
}
#else
#define HIDSWVD_DBG_PRINT(__x__)
#endif