?? usbcom.h
字號:
NTSTATUS
UsbCom_ProcessSysControlIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
UsbCom_Unload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
UsbCom_StartDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_StopDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_RemoveDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_CallUSBD(
IN PDEVICE_OBJECT DeviceObject,
IN PURB Urb
);
NTSTATUS
UsbCom_PnPAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject
);
NTSTATUS
UsbCom_CreateDeviceObject(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject,
IN PDEVICE_OBJECT *DeviceObject
);
NTSTATUS
UsbCom_ConfigureDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_IrpCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
UsbCom_CapabilitiesRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
UsbCom_PoRequestCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN PIO_STATUS_BLOCK IoStatus
);
NTSTATUS
UsbCom_PoSelfRequestCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN PIO_STATUS_BLOCK IoStatus
);
NTSTATUS
UsbCom_SelfRequestPowerIrp(
IN PDEVICE_OBJECT DeviceObject,
IN POWER_STATE PowerState
);
BOOLEAN
UsbCom_SetDevicePowerState(
IN PDEVICE_OBJECT DeviceObject,
IN DEVICE_POWER_STATE DeviceState
);
NTSTATUS
UsbCom_PowerIrp_Complete(
IN PDEVICE_OBJECT NullDeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
UsbCom_QueryCapabilities(
IN PDEVICE_OBJECT PdoDeviceObject,
IN PDEVICE_CAPABILITIES DeviceCapabilities
);
NTSTATUS
UsbCom_Create(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
UsbCom_AbortPipes(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_ProcessIOCTL(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
UsbCom_SelectInterface(
IN PDEVICE_OBJECT DeviceObject,
IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
);
NTSTATUS
UsbCom_Close(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
UsbCom_ResetPipe(
IN PDEVICE_OBJECT DeviceObject,
IN PUSBD_PIPE_INFORMATION PipeInfo
);
VOID
UsbCom_IncrementIoCount(
IN PDEVICE_OBJECT DeviceObject
);
LONG
UsbCom_DecrementIoCount(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
UsbCom_ProcessPowerIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
UsbCom_StagedReadWrite(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN BOOLEAN Read
);
NTSTATUS
UsbCom_SelfSuspendOrActivate(
IN PDEVICE_OBJECT DeviceObject,
IN BOOLEAN fSuspend
);
NTSTATUS
UsbCom_SymbolicLink(
IN PDEVICE_OBJECT DeviceObject,
IN OUT PUNICODE_STRING deviceLinkUnicodeString
);
BOOLEAN
UsbCom_CancelPendingIo(
IN PDEVICE_OBJECT DeviceObject
);
BOOLEAN
UsbCom_CanAcceptIoRequests(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
SerialGetRegistryKeyValue (IN HANDLE Handle, IN PWCHAR KeyNameString,
IN ULONG KeyNameStringLength, IN PVOID Data,
IN OUT PULONG DataLength);
NTSTATUS
UsbCom_Cleanup(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
UsbCom_SendVendor(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR Request,
IN USHORT Value
);
/*
NTSTATUS
UsbCom_SendVendor(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN UCHAR Request,
IN USHORT Value
);
*/
NTSTATUS
StartInterruptUrb(
PDEVICE_EXTENSION Extension
);
NTSTATUS
OnInterrupt(
PDEVICE_OBJECT junk,
PIRP Irp,
PDEVICE_EXTENSION Extension
);
NTSTATUS
StartReadUrb(
PDEVICE_EXTENSION Extension
);
NTSTATUS
OnReadInterrupt(
PDEVICE_OBJECT junk,
PIRP Irp,
PDEVICE_EXTENSION Extension
);
NTSTATUS
StartWriteUrb(
PDEVICE_EXTENSION Extension
);
NTSTATUS
OnWriteInterrupt(
PDEVICE_OBJECT junk,
PIRP Irp,
PDEVICE_EXTENSION Extension
);
VOID
TransferData(
IN PDEVICE_EXTENSION DeviceExtension,
IN ULONG DataLength
);
VOID
TransmitData(
IN PDEVICE_EXTENSION DeviceExtension
);
#endif // already included
//////////////////////////////////////////////
// Procedure definitions from serial.sys //
//////////////////////////////////////////////
typedef
NTSTATUS
(*PSERIAL_START_ROUTINE) (
IN PDEVICE_EXTENSION
);
typedef
VOID
(*PSERIAL_GET_NEXT_ROUTINE) (
IN PIRP *CurrentOpIrp,
IN PLIST_ENTRY QueueToProcess,
OUT PIRP *NewIrp,
IN BOOLEAN CompleteCurrent,
PDEVICE_EXTENSION Extension
);
NTSTATUS
SerialRead(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialStartRead(
IN PDEVICE_EXTENSION Extension
);
VOID
SerialCompleteRead(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
VOID
SerialReadTimeout(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
/*
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
*/
VOID
SerialIntervalReadTimeout(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
/*
NTSTATUS
SerialFlush(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
*/
NTSTATUS
SerialWrite(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialStartWrite(
IN PDEVICE_EXTENSION Extension
);
VOID
SerialGetNextWrite(
IN PIRP *CurrentOpIrp,
IN PLIST_ENTRY QueueToProcess,
IN PIRP *NewIrp,
IN BOOLEAN CompleteCurrent,
IN PDEVICE_EXTENSION Extension
);
VOID
SerialCompleteWrite(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
BOOLEAN
SerialProcessEmptyTransmit(
IN PVOID Context
);
VOID
SerialWriteTimeout(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
BOOLEAN
SerialSetDTR(
IN PVOID Context
);
BOOLEAN
SerialClrDTR(
IN PVOID Context
);
BOOLEAN
SerialSetRTS(
IN PVOID Context
);
BOOLEAN
SerialClrRTS(
IN PVOID Context
);
BOOLEAN
SerialSetChars(
IN PVOID Context
);
BOOLEAN
SerialSetBaud(
IN PVOID Context
);
BOOLEAN
SerialSetLineControl(
IN PVOID Context
);
BOOLEAN
SerialSetupNewHandFlow(
IN PDEVICE_EXTENSION Extension,
IN PSERIAL_HANDFLOW NewHandFlow
);
BOOLEAN
SerialSetHandFlow(
IN PVOID Context
);
BOOLEAN
SerialTurnOnBreak(
IN PVOID Context
);
BOOLEAN
SerialTurnOffBreak(
IN PVOID Context
);
BOOLEAN
SerialPretendXoff(
IN PVOID Context
);
BOOLEAN
SerialPretendXon(
IN PVOID Context
);
VOID
SerialHandleReducedIntBuffer(
IN PDEVICE_EXTENSION Extension
);
VOID
SerialProdXonXoff(
IN PDEVICE_EXTENSION Extension,
IN BOOLEAN SendXon
);
NTSTATUS
SerialStartMask(
IN PDEVICE_EXTENSION Extension
);
VOID
SerialCancelWait(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
SerialCompleteWait(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
/*
VOID
SerialStartImmediate(
IN PSERIAL_DEVICE_EXTENSION Extension
);
VOID
SerialCompleteImmediate(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
VOID
SerialTimeoutImmediate(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
*/
VOID
SerialTimeoutXoff(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
VOID
SerialCompleteXoff(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
NTSTATUS
SerialStartPurge(
IN PDEVICE_EXTENSION Extension
);
BOOLEAN
SerialPurgeInterruptBuff(
IN PVOID Context
);
NTSTATUS
SerialQueryInformationFile(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialSetInformationFile(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
SerialKillAllReadsOrWrites(
IN PDEVICE_OBJECT DeviceObject,
IN PLIST_ENTRY QueueToClean,
IN PIRP *CurrentOpIrp
);
VOID
SerialGetNextIrp(
IN PIRP *CurrentOpIrp,
IN PLIST_ENTRY QueueToProcess,
OUT PIRP *NextIrp,
IN BOOLEAN CompleteCurrent,
IN PDEVICE_EXTENSION extension
);
VOID
SerialGetNextIrpLocked(IN PIRP *CurrentOpIrp, IN PLIST_ENTRY QueueToProcess,
OUT PIRP *NextIrp, IN BOOLEAN CompleteCurrent,
IN PDEVICE_EXTENSION extension, IN KIRQL OldIrql);
VOID
SerialTryToCompleteCurrent(
IN PDEVICE_EXTENSION Extension,
IN PKSYNCHRONIZE_ROUTINE SynchRoutine OPTIONAL,
IN KIRQL IrqlForRelease,
IN NTSTATUS StatusToUse,
IN PIRP *CurrentOpIrp,
IN PLIST_ENTRY QueueToProcess,
IN PKTIMER IntervalTimer,
IN PKTIMER TotalTimer,
IN PSERIAL_START_ROUTINE Starter,
IN PSERIAL_GET_NEXT_ROUTINE GetNextIrp,
IN LONG RefType
);
NTSTATUS
SerialStartOrQueue(
IN PDEVICE_EXTENSION Extension,
IN PIRP Irp,
IN PLIST_ENTRY QueueToExamine,
IN PIRP *CurrentOpIrp,
IN PSERIAL_START_ROUTINE Starter
);
VOID
SerialCancelQueued(
PDEVICE_OBJECT DeviceObject,
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -