📄 funcdecl.h
字号:
/*++
Copyright (C) Microsoft Corporation, 1998 - 1999
Module Name:
parport.sys
File Name:
funcdecl.h
Abstract:
This file contains the parport function declarations for functions
that are called from a translation unit other than the one in
which the function is defined.
--*/
NTSTATUS
P5FdoCreateThread(
PFDO_EXTENSION Fdx
);
NTSTATUS
PptAcquirePortViaIoctl(
IN PDEVICE_OBJECT PortDeviceObject,
IN PLARGE_INTEGER Timeout OPTIONAL
);
VOID
P5SetPhase( PPDO_EXTENSION Pdx, P1284_PHASE Phase );
VOID
P5BSetPhase( PIEEE_STATE IeeeState, P1284_PHASE Phase );
VOID
P5TraceIrpArrival( PDEVICE_OBJECT DevObj, PIRP Irp );
VOID
P5TraceIrpCompletion( PIRP Irp );
// irpQueue.c
VOID
P2InitIrpQueueContext(
IN PIRPQUEUE_CONTEXT IrpQueueContext
);
VOID
P2CancelQueuedIrp(
IN PIRPQUEUE_CONTEXT IrpQueueContext,
IN PIRP Irp
);
NTSTATUS
P2QueueIrp(
IN PIRP Irp,
IN PIRPQUEUE_CONTEXT IrpQueueContext,
IN PDRIVER_CANCEL CancelRoutine
);
PIRP
P2DequeueIrp(
IN PIRPQUEUE_CONTEXT IrpQueueContext,
IN PDRIVER_CANCEL CancelRoutine
);
VOID
P2CancelRoutine(
IN PDEVICE_OBJECT DevObj,
IN PIRP Irp
);
// test.c
//
// ieee1284.c
//
VOID
IeeeTerminate1284Mode(
IN PPDO_EXTENSION Extension
);
NTSTATUS
IeeeEnter1284Mode(
IN PPDO_EXTENSION Extension,
IN UCHAR Extensibility
);
VOID
IeeeDetermineSupportedProtocols(
IN PPDO_EXTENSION Extension
);
NTSTATUS
IeeeNegotiateBestMode(
IN PPDO_EXTENSION Extension,
IN USHORT usReadMask,
IN USHORT usWriteMask
);
NTSTATUS
IeeeNegotiateMode(
IN PPDO_EXTENSION Extension,
IN USHORT usReadMask,
IN USHORT usWriteMask
);
//
// port.c
//
VOID
ParReleasePortInfoToPortDevice(
IN PPDO_EXTENSION Extension
);
VOID
ParFreePort(
IN PPDO_EXTENSION Extension
);
NTSTATUS
ParAllocPortCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
BOOLEAN
ParAllocPort(
IN PPDO_EXTENSION Extension
);
NTSTATUS
PptWmiQueryWmiRegInfo(
IN PDEVICE_OBJECT PDevObj,
OUT PULONG PRegFlags,
OUT PUNICODE_STRING PInstanceName,
OUT PUNICODE_STRING *PRegistryPath,
OUT PUNICODE_STRING MofResourceName,
OUT PDEVICE_OBJECT *Pdo
);
NTSTATUS
PptWmiQueryWmiDataBlock(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG InstanceCount,
IN OUT PULONG InstanceLengthArray,
IN ULONG OutBufferSize,
OUT PUCHAR Buffer
);
NTSTATUS
ParGetPortInfoFromPortDevice(
IN OUT PPDO_EXTENSION Extension
);
VOID
ParReleasePortInfoToPortDevice(
IN PPDO_EXTENSION Extension
);
VOID
ParFreePort(
IN PPDO_EXTENSION Extension
);
NTSTATUS
ParAllocPortCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
BOOLEAN
ParAllocPort(
IN PPDO_EXTENSION Extension
);
VOID
TstReadDeviceId( PFDO_EXTENSION Ext );
NTSTATUS
P4IeeeEnter1284Mode(
IN PUCHAR Controller,
IN UCHAR Extensibility,
IN OUT PIEEE_STATE State
);
VOID
P4IeeeTerminate1284Mode(
IN PUCHAR Controller,
IN OUT PIEEE_STATE IeeeState,
IN enum XFlagOnEvent24 XFlagOnEvent24
);
NTSTATUS
P4NibbleModeRead(
IN PUCHAR Controller,
IN PVOID Buffer,
IN ULONG BufferSize,
OUT PULONG BytesTransferred,
IN OUT PIEEE_STATE IeeeState
);
VOID
P4MakeClassNameFromPortLptName(
IN PWSTR LptName,
IN OUT PUNICODE_STRING ParallelName
);
VOID
ParMakeClassNameFromNumber(
IN ULONG Number,
OUT PUNICODE_STRING ClassName
);
//
NTSTATUS
PptFdoUnhandledRequest( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoUnhandledRequest( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchPnp( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchPower( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchCreate( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchClose( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchCleanup( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchRead( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchWrite( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchInternalDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchQueryInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchSetInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptDispatchSystemControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoPnp( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoPower( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoCreateOpen( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoClose( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoCleanup( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoRead( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoWrite( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoInternalDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoQueryInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoSetInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptFdoSystemControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoPnp( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoPower( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoCreate( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoClose( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoCleanup( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoRead( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoWrite( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoInternalDeviceControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoQueryInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoSetInformation( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptPdoSystemControl( PDEVICE_OBJECT DevObj, PIRP Irp );
NTSTATUS
PptWmiInitWmi(PDEVICE_OBJECT DeviceObject);
NTSTATUS
PptDispatchSystemControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp);
//
// pnp.c - dvdf
//
VOID
PptPnpInitDispatchFunctionTable(
VOID
);
NTSTATUS
P5AddDevice(
IN PDRIVER_OBJECT pDriverObject,
IN PDEVICE_OBJECT pPhysicalDeviceObject
);
NTSTATUS
PptDispatchPnp (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
//
//
//
NTSTATUS
PptFailRequest(
IN PIRP Irp,
IN NTSTATUS Status
);
NTSTATUS
PptDispatchPreProcessIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
PptDispatchPostProcessIrp();
//
// initunld.c
//
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
VOID
PptUnload(
IN PDRIVER_OBJECT DriverObject
);
//
// parport.c
//
NTSTATUS
PptSystemControl (
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
NTSTATUS
PptSynchCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PKEVENT Event
);
VOID
PptLogError(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT DeviceObject OPTIONAL,
IN PHYSICAL_ADDRESS P1,
IN PHYSICAL_ADDRESS P2,
IN ULONG SequenceNumber,
IN UCHAR MajorFunctionCode,
IN UCHAR RetryCount,
IN ULONG UniqueErrorValue,
IN NTSTATUS FinalStatus,
IN NTSTATUS SpecificIOStatus
);
NTSTATUS
PptConnectInterrupt(
IN PFDO_EXTENSION Extension
);
VOID
PptDisconnectInterrupt(
IN PFDO_EXTENSION Extension
);
NTSTATUS
PptDispatchCreateOpen(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
PptDispatchClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
BOOLEAN
PptSynchronizedIncrement(
IN OUT PVOID SyncContext
);
BOOLEAN
PptSynchronizedDecrement(
IN OUT PVOID SyncContext
);
BOOLEAN
PptSynchronizedRead(
IN OUT PVOID SyncContext
);
BOOLEAN
PptSynchronizedQueue(
IN PVOID Context
);
BOOLEAN
PptSynchronizedDisconnect(
IN PVOID Context
);
VOID
PptCancelRoutine(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp
);
VOID
PptFreePortDpc(
IN PKDPC Dpc,
IN OUT PVOID Extension,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2
);
BOOLEAN
PptTryAllocatePortAtInterruptLevel(
IN PVOID Context
);
VOID
PptFreePortFromInterruptLevel(
IN PVOID Context
);
BOOLEAN
PptInterruptService(
IN PKINTERRUPT Interrupt,
IN PVOID Extension
);
BOOLEAN
PptTryAllocatePort(
IN PVOID Extension
);
BOOLEAN
PptTraversePortCheckList(
IN PVOID Extension
);
VOID
PptFreePort(
IN PVOID Extension
);
ULONG
PptQueryNumWaiters(
IN PVOID Extension
);
NTSTATUS
PptDispatchInternalDeviceControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
PptCleanupDevice(
IN PFDO_EXTENSION Extension
);
NTSTATUS
PptDispatchCleanup(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
BOOLEAN
PptIsNecR98Machine(
void
);
VOID
PowerStateCallback(
IN PVOID CallbackContext,
IN PVOID Argument1,
IN PVOID Argument2
);
NTSTATUS
PptDispatchPower (
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
VOID
PptRegInitDriverSettings(
PUNICODE_STRING RegistryPath
);
PWSTR
PptGetPortNameFromPhysicalDeviceObject(
PDEVICE_OBJECT PhysicalDeviceObject
);
PVOID
PptSetCancelRoutine(
IN PIRP Irp,
IN PDRIVER_CANCEL CancelRoutine
);
NTSTATUS
PptAcquireRemoveLockOrFailIrp(
IN PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
//
// debug.c
//
UCHAR
P5ReadPortUchar( PUCHAR Port );
VOID
P5ReadPortBufferUchar( PUCHAR Port, PUCHAR Buffer, ULONG Count );
VOID
P5WritePortUchar( PUCHAR Port, UCHAR Value );
VOID
P5WritePortBufferUchar( PUCHAR Port, PUCHAR Buffer, ULONG Count );
VOID
PptFdoDumpPnpIrpInfo(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp
);
VOID
PptPdoDumpPnpIrpInfo(
IN PDEVICE_OBJECT Pdo,
IN PIRP Irp
);
NTSTATUS
PptAcquireRemoveLock(
IN PIO_REMOVE_LOCK RemoveLock,
IN PVOID Tag OPTIONAL
);
VOID
PptReleaseRemoveLock(
IN PIO_REMOVE_LOCK RemoveLock,
IN PVOID Tag OPTIONAL
);
VOID
PptReleaseRemoveLockAndWait(
IN PIO_REMOVE_LOCK RemoveLock,
IN PVOID Tag
);
VOID
PptDebugDumpResourceList(
PIO_RESOURCE_LIST ResourceList
);
VOID
PptDebugDumpResourceRequirementsList(
PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirementsList
);
//
//
//
VOID
PptLogError(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT DeviceObject OPTIONAL,
IN PHYSICAL_ADDRESS P1,
IN PHYSICAL_ADDRESS P2,
IN ULONG SequenceNumber,
IN UCHAR MajorFunctionCode,
IN UCHAR RetryCount,
IN ULONG UniqueErrorValue,
IN NTSTATUS FinalStatus,
IN NTSTATUS SpecificIOStatus
);
VOID
PptReportResourcesDevice(
IN PFDO_EXTENSION Extension,
IN BOOLEAN ClaimInterrupt,
OUT PBOOLEAN ConflictDetected
);
VOID
PptUnReportResourcesDevice(
IN OUT PFDO_EXTENSION Extension
);
NTSTATUS
PptConnectInterrupt(
IN PFDO_EXTENSION Extension
);
VOID
PptDisconnectInterrupt(
IN PFDO_EXTENSION Extension
);
NTSTATUS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -