www.pudn.com > wave-bulktransfer.rar > usbloader.h


 
#ifndef USBLOADER_H 
#define USBLOADER_H 
#endif 
 
#include "wdm.h" 
#include "usbdi.h" 
#include "usbdlib.h" 
 
#include  
 
#ifndef _BYTE_DEFINED 
#define _BYTE_DEFINED 
typedef unsigned char BYTE; 
#endif  
 
#ifndef _WORD_DEFINED 
#define _WORD_DEFINED 
typedef unsigned short WORD; 
#endif  
 
#ifdef DRIVER 
 
#define ANCHOR_LOAD_INTERNAL  0xA0 
 
#define ANCHOR_LOAD_EXTERNAL  0xA3 
 
#define MAX_INTERNAL_ADDRESS  0x1B3F 
 
#define INTERNAL_RAM(address) ((address <= MAX_INTERNAL_ADDRESS) ? 1 : 0) 
 
#define CPUCS_REG    0x7F92 
 
typedef struct _DEVICE_EXTENSION 
{ 
 
   PDEVICE_OBJECT PhysicalDeviceObject;   
 
   PDEVICE_OBJECT		LowerDeviceObject;		 
 
   LONG Usages; 
 
   KEVENT evRemove; 
 
   BOOLEAN Removing; 
 
} DEVICE_EXTENSION, *PDEVICE_EXTENSION; 
 
#define MAX_INTEL_HEX_RECORD_LENGTH 16 
 
typedef struct _INTEL_HEX_RECORD 
{ 
   BYTE  Length; 
   WORD  Address; 
   BYTE  Type; 
   BYTE  Data[MAX_INTEL_HEX_RECORD_LENGTH]; 
} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD; 
 
 
NTSTATUS TestAddDevice(IN PDRIVER_OBJECT DriverObject,IN PDEVICE_OBJECT PhysicalDeviceObject); 
VOID TestDrvUnload(IN PDRIVER_OBJECT DriverObject); 
NTSTATUS TestPnpIrp(IN PDEVICE_OBJECT fdo, IN PIRP Irp); 
BOOLEAN LockDevice(IN PDEVICE_OBJECT fdo); 
void UnlockDevice(PDEVICE_OBJECT fdo); 
NTSTATUS CompleteRequest(IN PIRP Irp,IN NTSTATUS status,IN ULONG info); 
NTSTATUS UsbCallUSBDI(IN PDEVICE_OBJECT DeviceObject,IN PURB Urb); 
 
#endif