📄 1394vdev.h
字号:
IN OUT PVOID Buffer
);
NTSTATUS
t1394_AsyncStream(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG nNumberOfBytesToStream,
IN ULONG fulFlags,
IN ULONG ulTag,
IN ULONG nChannel,
IN ULONG ulSynch,
IN UCHAR nSpeed,
IN OUT PULONG Data
);
//
// isochapi.c
//
NTSTATUS
t1394_IsochAllocateBandwidth(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG nMaxBytesPerFrameRequested,
IN ULONG fulSpeed,
OUT PHANDLE phBandwidth,
OUT PULONG pBytesPerFrameAvailable,
OUT PULONG pSpeedSelected
);
NTSTATUS
t1394_IsochAllocateChannel(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG nRequestedChannel,
OUT PULONG pChannel,
OUT PLARGE_INTEGER pChannelsAvailable
);
NTSTATUS
t1394_IsochAllocateResources(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG fulSpeed,
IN ULONG fulFlags,
IN ULONG nChannel,
IN ULONG nMaxBytesPerFrame,
IN ULONG nNumberOfBuffers,
IN ULONG nMaxBufferSize,
IN ULONG nQuadletsToStrip,
OUT PHANDLE phResource
);
NTSTATUS
t1394_IsochAttachBuffers(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG outputBufferLength,
IN HANDLE hResource,
IN ULONG nNumberOfDescriptors,
OUT PISOCH_DESCRIPTOR pIsochDescriptor,
IN OUT PRING3_ISOCH_DESCRIPTOR R3_IsochDescriptor
);
NTSTATUS
t1394_IsochDetachBuffers(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource,
IN ULONG nNumberOfDescriptors,
IN PISOCH_DESCRIPTOR IsochDescriptor
);
NTSTATUS
t1394_IsochFreeBandwidth(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hBandwidth
);
NTSTATUS
t1394_IsochFreeChannel(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG nChannel
);
NTSTATUS
t1394_IsochFreeResources(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource
);
NTSTATUS
t1394_IsochListen(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource,
IN ULONG fulFlags,
IN CYCLE_TIME StartTime
);
NTSTATUS
t1394_IsochQueryCurrentCycleTime(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
OUT PCYCLE_TIME pCurrentCycleTime
);
NTSTATUS
t1394_IsochQueryResources(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG fulSpeed,
OUT PULONG pBytesPerFrameAvailable,
OUT PLARGE_INTEGER pChannelsAvailable
);
NTSTATUS
t1394_IsochSetChannelBandwidth(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hBandwidth,
IN ULONG nMaxBytesPerFrame
);
NTSTATUS
t1394_IsochModifyStreamProperties(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource,
IN ULARGE_INTEGER ChannelMask,
IN ULONG fulSpeed
);
NTSTATUS
t1394_IsochStop(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource,
IN ULONG fulFlags
);
NTSTATUS
t1394_IsochTalk(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN HANDLE hResource,
IN ULONG fulFlags,
CYCLE_TIME StartTime
);
void
t1394_IsochCallback(
IN PDEVICE_EXTENSION DeviceExtension,
IN PISOCH_DETACH_DATA IsochDetachData
);
void
t1394_IsochTimeout(
IN PKDPC Dpc,
IN PISOCH_DETACH_DATA IsochDetachData,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
void
t1394_IsochCleanup(
IN PISOCH_DETACH_DATA IsochDetachData
);
IO_COMPLETION_ROUTINE t1394_IsochDetachCompletionRoutine;
/*
NTSTATUS
t1394_IsochDetachCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PISOCH_DETACH_DATA IsochDetachData
);
*/
IO_COMPLETION_ROUTINE t1394_IsochAttachCompletionRoutine;
/*
NTSTATUS
t1394_IsochAttachCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PISOCH_DETACH_DATA IsochDetachData
);
*/
//
// util.c
//
NTSTATUS
t1394_SubmitIrpSynch(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PIRB Irb
);
NTSTATUS
t1394_SubmitIrpAsync(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PIRB Irb
);
IO_COMPLETION_ROUTINE t1394_SynchCompletionRoutine;
/*
NTSTATUS
t1394_SynchCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PKEVENT Event
);
*/
BOOLEAN
t1394_IsOnList(
PLIST_ENTRY Entry,
PLIST_ENTRY List
);
IO_WORKITEM_ROUTINE t1394_UpdateGenerationCount;
/*
VOID
t1394_UpdateGenerationCount (
IN PDEVICE_OBJECT DeviceObject,
IN PVOID Context
);
*/
//
// 1394vdev.c
//
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
NTSTATUS
t1394VDev_Create(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
t1394VDev_Close(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
void
t1394VDev_Unload(
IN PDRIVER_OBJECT DriverObject
);
DRIVER_CANCEL t1394VDev_CancelIrp;
/*
void
t1394VDev_CancelIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
*/
//
// ioctl.c
//
NTSTATUS
t1394VDev_IoControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
//
// pnp.c
//
NTSTATUS
t1394VDev_PnpAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject
);
NTSTATUS
t1394VDev_Pnp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
t1394VDev_PnpStartDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
t1394VDev_PnpStopDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
t1394VDev_PnpRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
//
// power.c
//
NTSTATUS
t1394VDev_Power(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
IO_COMPLETION_ROUTINE t1394VDev_SystemSetPowerIrpCompletion;
/*
NTSTATUS
t1394VDev_SystemSetPowerIrpCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID NotUsed
);
*/
VOID
t1394VDev_DeviceSetPowerIrpCompletion(
PDEVICE_OBJECT DeviceObject,
UCHAR MinorFunction,
POWER_STATE state,
POWER_COMPLETION_CONTEXT* PowerContext,
PIO_STATUS_BLOCK IoStatus
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -