|
|
/***************************************************************************
Copyright (c) 2000 Microsoft Corporation
Module Name:
Dot4Usb.sys - Lower Filter Driver for Dot4.sys for USB connected IEEE 1284.4 devices.
File Name:
FuncDecl.h
Abstract:
Function Prototype Declarations
Environment:
Kernel mode only
Notes:
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright (c) 2000 Microsoft Corporation. All Rights Reserved.
Revision History:
01/18/2000 : created
Author(s):
Joby Lafky (JobyL) Doug Fritz (DFritz)
****************************************************************************/
//
// AddDev.c
//
NTSTATUS AddDevice( IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT Pdo );
//
// InitUnld.c
//
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath );
VOID DriverUnload( IN PDRIVER_OBJECT DriverObject );
//
// Ioctl.c
//
NTSTATUS DispatchDeviceControl( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS DispatchInternalDeviceControl( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
//
// OpenClos.c
//
NTSTATUS DispatchCreate( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS DispatchClose( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
//
// PnP.c
//
NTSTATUS DispatchPnp( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS PnpDefaultHandler( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleStart( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleQueryRemove( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleRemove( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleCancelRemove( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleStop( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleQueryStop( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleCancelStop( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleQueryDeviceRelations( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleQueryCapabilities( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS PnpHandleSurpriseRemoval( IN PDEVICE_EXTENSION DevExt, IN PIRP Irp );
NTSTATUS VA_PnP( IN PDEVICE_EXTENSION devExt, PIRP irp );
NTSTATUS GetDeviceCapabilities( IN PDEVICE_EXTENSION DevExt );
// power.c
NTSTATUS DispatchPower( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS PowerComplete( IN PDEVICE_OBJECT DevObj, IN PIRP Irp, IN PVOID Context );
//
// Registry.c
//
NTSTATUS RegGetDword( IN PCWSTR KeyPath, IN PCWSTR ValueName, IN OUT PULONG Value );
NTSTATUS RegGetDeviceParameterDword( IN PDEVICE_OBJECT Pdo, IN PCWSTR ValueName, IN OUT PULONG Value );
//
// ReadWrit.c
//
NTSTATUS DispatchRead( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS DispatchWrite( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
//
// Test.c
//
VOID TestEventLog( IN PDEVICE_OBJECT DevObj );
//
// Usb.c
//
NTSTATUS UsbResetPipe( IN PDEVICE_OBJECT DeviceObject, IN PUSBD_PIPE_INFORMATION Pipe, IN BOOLEAN IsoClearStall );
NTSTATUS DOT4USB_ResetWorkItem( IN PDEVICE_OBJECT deviceObject, IN PVOID Context);
NTSTATUS UsbBuildPipeList( IN PDEVICE_OBJECT DeviceObject );
LONG UsbGet1284Id( IN PDEVICE_OBJECT DevObj, PVOID Buffer, LONG BufferLength );
NTSTATUS UsbBulkWrite( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS UsbBulkRead( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS UsbCallUsbd( IN PDEVICE_OBJECT DeviceObject, IN PURB Urb, IN PLARGE_INTEGER pTimeout );
NTSTATUS UsbGetDescriptor( IN PDEVICE_EXTENSION DevExt );
NTSTATUS UsbConfigureDevice( IN PDEVICE_EXTENSION DevExt );
NTSTATUS UsbSelectInterface( IN PDEVICE_OBJECT DevObj, IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor );
NTSTATUS UsbReadWrite( IN PDEVICE_OBJECT DevObj, IN PIRP Irp, PUSBD_PIPE_INFORMATION Pipe, USB_REQUEST_TYPE RequestType );
NTSTATUS UsbReadInterruptPipeLoopCompletionRoutine( IN PDEVICE_OBJECT DevObj, IN PIRP Irp, IN PDEVICE_EXTENSION devExt );
NTSTATUS UsbStartReadInterruptPipeLoop( IN PDEVICE_OBJECT DevObj );
VOID UsbStopReadInterruptPipeLoop( IN PDEVICE_OBJECT DevObj );
PURB UsbBuildAsyncRequest( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PUSBD_PIPE_INFORMATION PipeHandle, IN BOOLEAN Read );
NTSTATUS UsbAsyncReadWriteComplete( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context );
//
// Util.c
//
NTSTATUS DispatchPassThrough( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS CallLowerDriverSync( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
NTSTATUS CallLowerDriverSyncCompletion( IN PDEVICE_OBJECT DevObjOrNULL, IN PIRP Irp, IN PVOID Context );
//
// Wmi.c
//
NTSTATUS DispatchWmi( IN PDEVICE_OBJECT DevObj, IN PIRP Irp );
|