vboxpnp.h revision 59190ecd61435d19ba3515b876272aee7bd12298
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
vboxpnp.h
Abstract:
Environment:
Kernel mode
Notes:
Copyright (c) 2000 Microsoft Corporation.
All Rights Reserved.
--*/
#ifndef _VBoxUSB_PNP_H
#define _VBoxUSB_PNP_H
#define REMOTE_WAKEUP_MASK 0x20
RT_C_DECLS_BEGIN
NTSTATUS
VBoxUSB_DispatchPnP(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleStartDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleQueryStopDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleQueryRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleCancelRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleSurpriseRemoval(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleCancelStopDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleStopDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleQueryCapabilities(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
ReadandSelectDescriptors(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
ConfigureDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
SelectInterfaces(
IN PDEVICE_OBJECT DeviceObject,
IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
);
NTSTATUS
DeconfigureDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
CallUSBD(
IN PDEVICE_OBJECT DeviceObject,
IN PURB Urb
);
VOID
ProcessQueuedRequests(
IN OUT PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
VBoxUSB_GetRegistryDword(
IN PWCHAR RegPath,
IN PWCHAR ValueName,
IN OUT PULONG Value
);
NTSTATUS
VBoxUSB_DispatchClean(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
DpcRoutine(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
VOID
IdleRequestWorkerRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PVOID Context
);
NTSTATUS
VBoxUSB_AbortPipes(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
IrpCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
CanStopDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
CanRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
ReleaseMemory(
IN PDEVICE_OBJECT DeviceObject
);
LONG
VBoxUSB_IoIncrement(
IN OUT PDEVICE_EXTENSION DeviceExtension
);
LONG
VBoxUSB_IoDecrement(
IN OUT PDEVICE_EXTENSION DeviceExtension
);
BOOLEAN
CanDeviceSuspend(
IN PDEVICE_EXTENSION DeviceExtension
);
PCHAR
PnPMinorFunctionString (
IN UCHAR MinorFunction
);
RT_C_DECLS_END
#endif