* Explicitly mark the functions as stdcall (NTAPI).. -mrtd changes the default calling convention, but name-decoration isn't affected by this. The -mrtd feature has its origin in some older linux-code-mode, and it's considered for removal in GCC 4.8.
* Fix some warnings.
svn path=/trunk/; revision=56973
#add_target_compile_flags(classpnp "/Gz")
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/Gz")
else()
-
- #add_target_compile_flags(classpnp "-mrtd -fno-builtin -w")
- set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-mrtd -fno-builtin -w")
+ set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-w")
endif()
endif()
(! fdoExtension->PowerDownInProgress) )
BOOLEAN
+NTAPI
ClasspIsMediaChangeDisabledDueToHardwareLimitation(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PUNICODE_STRING RegistryPath
);
NTSTATUS
+NTAPI
ClasspMediaChangeDeviceInstanceOverride(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
OUT PBOOLEAN Enabled
);
BOOLEAN
+NTAPI
ClasspIsMediaChangeDisabledForClass(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PUNICODE_STRING RegistryPath
);
VOID
+NTAPI
ClasspSetMediaChangeStateEx(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN MEDIA_CHANGE_DETECTION_STATE NewState,
);
NTSTATUS
+NTAPI
ClasspMediaChangeRegistryCallBack(
IN PWSTR ValueName,
IN ULONG ValueType,
);
VOID
+NTAPI
ClasspSendMediaStateIrp(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PMEDIA_CHANGE_DETECTION_INFO Info,
);
VOID
+NTAPI
ClasspFailurePredict(
IN PDEVICE_OBJECT DeviceObject,
IN PFAILURE_PREDICTION_INFO Info
);
NTSTATUS
+NTAPI
ClasspInitializePolling(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN BOOLEAN AllowDriveToSleep
// ISSUE -- make this public?
VOID
+NTAPI
ClassSendEjectionNotification(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
}
-\f
VOID
+NTAPI
ClasspSendNotification(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN const GUID * Guid,
return;
}
-
-
-
/*++////////////////////////////////////////////////////////////////////////////
ClasspInterpretGesnData()
--*/
VOID
+NTAPI
ClasspInterpretGesnData(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PNOTIFICATION_EVENT_STATUS_HEADER Header,
} // end switch on notification class
return;
}
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspInternalSetMediaChangeState()
--*/
VOID
+NTAPI
ClasspInternalSetMediaChangeState(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN MEDIA_CHANGE_DETECTION_STATE NewState,
MEDIA_CHANGE_DETECTION_STATE oldMediaState;
PMEDIA_CHANGE_DETECTION_INFO info = FdoExtension->MediaChangeDetectionInfo;
ULONG data;
- NTSTATUS status;
+ //NTSTATUS status;
ASSERT((NewState >= MediaUnknown) && (NewState <= MediaNotPresent));
return;
} // end ClasspInternalSetMediaChangeState()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSetMediaChangeState()
--*/
VOID
+NTAPI
ClasspSetMediaChangeStateEx(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN MEDIA_CHANGE_DETECTION_STATE NewState,
return;
} // end ClassSetMediaChangeStateEx()
+
VOID
+NTAPI
ClassSetMediaChangeState(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN MEDIA_CHANGE_DETECTION_STATE NewState,
ClasspSetMediaChangeStateEx(FdoExtension, NewState, Wait, FALSE);
return;
}
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspMediaChangeDetectionCompletion()
--*/
NTSTATUS
+NTAPI
ClasspMediaChangeDetectionCompletion(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
PCLASS_PRIVATE_FDO_DATA fdoData;
PMEDIA_CHANGE_DETECTION_INFO info;
- PIO_STACK_LOCATION nextIrpStack;
+ //PIO_STACK_LOCATION nextIrpStack;
NTSTATUS status;
BOOLEAN retryImmediately = FALSE;
return STATUS_MORE_PROCESSING_REQUIRED;
}
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspSendTestUnitIrp() - ISSUE-2000/02/20-henrygab - not documented
--*/
PIRP
+NTAPI
ClasspPrepareMcnIrp(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PMEDIA_CHANGE_DETECTION_INFO Info,
return irp;
}
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspSendMediaStateIrp() - ISSUE-2000/02/20-henrygab - not documented
--*/
VOID
+NTAPI
ClasspSendMediaStateIrp(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PMEDIA_CHANGE_DETECTION_INFO Info,
{
BOOLEAN requestPending = FALSE;
LONG irpInUse;
- LARGE_INTEGER zero;
- NTSTATUS status;
+ //LARGE_INTEGER zero;
+ //NTSTATUS status;
DBGTRACE(ClassDebugMCN, ("> ClasspSendMediaStateIrp"));
return;
} // end ClasspSendMediaStateIrp()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassCheckMediaState()
--*/
VOID
+NTAPI
ClassCheckMediaState(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
} // end ClassCheckMediaState()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassResetMediaChangeTimer()
--*/
VOID
+NTAPI
ClassResetMediaChangeTimer(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
}
return;
} // end ClassResetMediaChangeTimer()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspInitializePolling() - ISSUE-2000/02/20-henrygab - not documented
--*/
NTSTATUS
+NTAPI
ClasspInitializePolling(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN BOOLEAN AllowDriveToSleep
)
{
PDEVICE_OBJECT fdo = FdoExtension->DeviceObject;
- PCLASS_PRIVATE_FDO_DATA fdoData = FdoExtension->PrivateFdoData;
+ //PCLASS_PRIVATE_FDO_DATA fdoData = FdoExtension->PrivateFdoData;
- ULONG size;
+ //ULONG size;
PMEDIA_CHANGE_DETECTION_INFO info;
PIRP irp;
if (buffer != NULL) {
PIO_STACK_LOCATION irpStack;
PSCSI_REQUEST_BLOCK srb;
- PCDB cdb;
+ //PCDB cdb;
srb = &(info->MediaChangeSrb);
info->MediaChangeIrp = irp;
return STATUS_INSUFFICIENT_RESOURCES;
} // end ClasspInitializePolling()
-\f
+
NTSTATUS
+NTAPI
ClasspInitializeGesn(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PMEDIA_CHANGE_DETECTION_INFO Info
--*/
NTSTATUS
+NTAPI
ClassInitializeTestUnitPolling(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN BOOLEAN AllowDriveToSleep
{
return ClasspInitializePolling(FdoExtension, AllowDriveToSleep);
} // end ClassInitializeTestUnitPolling()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassInitializeMediaChangeDetection()
--*/
VOID
+NTAPI
ClassInitializeMediaChangeDetection(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PUCHAR EventPrefix
return;
} // end ClassInitializeMediaChangeDetection()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspMediaChangeDeviceInstanceOverride()
--*/
NTSTATUS
+NTAPI
ClasspMediaChangeDeviceInstanceOverride(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
OUT PBOOLEAN Enabled
return status;
} // end ClasspMediaChangeDeviceInstanceOverride()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspIsMediaChangeDisabledDueToHardwareLimitation()
--*/
BOOLEAN
+NTAPI
ClasspIsMediaChangeDisabledDueToHardwareLimitation(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PUNICODE_STRING RegistryPath
return FALSE;
} // end ClasspIsMediaChangeDisabledDueToHardwareLimitation()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspIsMediaChangeDisabledForClass()
--*/
BOOLEAN
+NTAPI
ClasspIsMediaChangeDisabledForClass(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PUNICODE_STRING RegistryPath
)
{
- PSTORAGE_DEVICE_DESCRIPTOR deviceDescriptor = FdoExtension->DeviceDescriptor;
+ //PSTORAGE_DEVICE_DESCRIPTOR deviceDescriptor = FdoExtension->DeviceDescriptor;
OBJECT_ATTRIBUTES objectAttributes;
HANDLE serviceKey = NULL;
RTL_QUERY_REGISTRY_TABLE parameters[3];
UNICODE_STRING paramStr;
- UNICODE_STRING deviceUnicodeString;
- ANSI_STRING deviceString;
+ //UNICODE_STRING deviceUnicodeString;
+ //ANSI_STRING deviceString;
//
// Default to ENABLING MediaChangeNotification (!)
return (BOOLEAN)(!mcnRegistryValue);
} // end ClasspIsMediaChangeDisabledForClass()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassEnableMediaChangeDetection() ISSUE-2000/02/20-henrygab - why public?
--*/
VOID
+NTAPI
ClassEnableMediaChangeDetection(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
} // end ClassEnableMediaChangeDetection()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassDisableMediaChangeDetection() ISSUE-2000/02/20-henrygab - why public?
ULONG BreakOnMcnDisable = FALSE;
VOID
+NTAPI
ClassDisableMediaChangeDetection(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
} // end ClassDisableMediaChangeDetection()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassCleanupMediaChangeDetection() ISSUE-2000/02/20-henrygab - why public?!
--*/
VOID
+NTAPI
ClassCleanupMediaChangeDetection(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
ExFreePool(info);
return;
} // end ClassCleanupMediaChangeDetection()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspMcnControl() - ISSUE-2000/02/20-henrygab - not documented
--*/
NTSTATUS
+NTAPI
ClasspMcnControl(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PIRP Irp,
}
return status;
} // end ClasspMcnControl(
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspMediaChangeRegistryCallBack()
--*/
NTSTATUS
+NTAPI
ClasspMediaChangeRegistryCallBack(
IN PWSTR ValueName,
IN ULONG ValueType,
return STATUS_SUCCESS;
} // end ClasspMediaChangeRegistryCallBack()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspTimerTick() - ISSUE-2000/02/20-henrygab - not documented
--*/
VOID
+NTAPI
ClasspTimerTick(
PDEVICE_OBJECT DeviceObject,
PVOID Context
if ((info != NULL) && (info->Method != FailurePredictionNone)) {
ULONG countDown;
- ULONG active;
+ //ULONG active;
if (ClasspCanSendPollingIrp(fdoExtension)) {
ClassReleaseRemoveLock(DeviceObject, (PIRP)ClasspTimerTick);
} // end ClasspTimerTick()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspEnableTimer() - ISSUE-2000/02/20-henrygab - not documented
--*/
NTSTATUS
+NTAPI
ClasspEnableTimer(
PDEVICE_OBJECT DeviceObject
)
return status;
} // end ClasspEnableTimer()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspDisableTimer() - ISSUE-2000/02/20-henrygab - not documented
--*/
NTSTATUS
+NTAPI
ClasspDisableTimer(
PDEVICE_OBJECT DeviceObject
)
{
- PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
- PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
- PMEDIA_CHANGE_DETECTION_INFO mCDInfo = fdoExtension->MediaChangeDetectionInfo;
- PFAILURE_PREDICTION_INFO fPInfo = fdoExtension->FailurePredictionInfo;
- NTSTATUS status;
+ //PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
+ //PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
+ //PMEDIA_CHANGE_DETECTION_INFO mCDInfo = fdoExtension->MediaChangeDetectionInfo;
+ //PFAILURE_PREDICTION_INFO fPInfo = fdoExtension->FailurePredictionInfo;
+ //NTSTATUS status;
PAGED_CODE();
return STATUS_SUCCESS;
} // end ClasspDisableTimer()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspFailurePredict() - ISSUE-2000/02/20-henrygab - not documented
so it must be PAGE LOCKED.
--*/
VOID
+NTAPI
ClasspFailurePredict(
IN PDEVICE_OBJECT DeviceObject,
IN PFAILURE_PREDICTION_INFO Info
IoFreeWorkItem(workItem);
return;
} // end ClasspFailurePredict()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassNotifyFailurePredicted() ISSUE-alanwar-2000/02/20 - not documented
--*/
VOID
+NTAPI
ClassNotifyFailurePredicted(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
PUCHAR Buffer,
}
}
} // end ClassNotifyFailurePredicted()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSetFailurePredictionPoll()
--*/
NTSTATUS
+NTAPI
ClassSetFailurePredictionPoll(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
FAILURE_PREDICTION_METHOD FailurePredictionMethod,
{
PFAILURE_PREDICTION_INFO info;
NTSTATUS status;
- DEVICE_POWER_STATE powerState;
+ //DEVICE_POWER_STATE powerState;
PAGED_CODE();
return status;
} // end ClassSetFailurePredictionPoll()
-
return STATUS_SUCCESS;
}
-\f
-
-
/*++////////////////////////////////////////////////////////////////////////////
ClassInitialize()
--*/
ULONG
+NTAPI
ClassInitialize(
IN PVOID Argument1,
IN PVOID Argument2,
status = STATUS_SUCCESS;
return status;
} // end ClassInitialize()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassInitializeEx()
--*/
ULONG
+NTAPI
ClassInitializeEx(
IN PDRIVER_OBJECT DriverObject,
IN LPGUID Guid,
return(status);
} // end ClassInitializeEx()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassUnload()
--*/
VOID
+NTAPI
ClassUnload(
IN PDRIVER_OBJECT DriverObject
)
return;
} // end ClassUnload()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassAddDevice()
--*/
NTSTATUS
+NTAPI
ClassAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT PhysicalDeviceObject
PhysicalDeviceObject);
return status;
} // end ClassAddDevice()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassDispatchPnp()
--*/
NTSTATUS
+NTAPI
ClassDispatchPnp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return status;
} // end ClassDispatchPnp()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassPnpStartDevice()
none
--*/
-NTSTATUS ClassPnpStartDevice(IN PDEVICE_OBJECT DeviceObject)
+NTSTATUS NTAPI ClassPnpStartDevice(IN PDEVICE_OBJECT DeviceObject)
{
PCLASS_DRIVER_EXTENSION driverExtension;
PCLASS_INIT_DATA initData;
BOOLEAN isFdo = commonExtension->IsFdo;
BOOLEAN isMountedDevice = TRUE;
- UNICODE_STRING interfaceName;
+ //UNICODE_STRING interfaceName;
BOOLEAN timerStarted;
NT Status
--*/
-NTSTATUS ClassReadWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
+NTSTATUS NTAPI ClassReadWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
PDEVICE_OBJECT lowerDeviceObject = commonExtension->LowerDeviceObject;
PIO_STACK_LOCATION currentIrpStack = IoGetCurrentIrpStackLocation(Irp);
- LARGE_INTEGER startingOffset = currentIrpStack->Parameters.Read.ByteOffset;
+ //LARGE_INTEGER startingOffset = currentIrpStack->Parameters.Read.ByteOffset;
ULONG transferByteCount = currentIrpStack->Parameters.Read.Length;
ULONG isRemoved;
NTSTATUS status;
Status is returned.
--*/
-NTSTATUS ClassReadDriveCapacity(IN PDEVICE_OBJECT Fdo)
+NTSTATUS NTAPI ClassReadDriveCapacity(IN PDEVICE_OBJECT Fdo)
{
READ_CAPACITY_DATA readCapacityBuffer = {0};
NTSTATUS status;
if (pkt){
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
KEVENT event;
- NTSTATUS pktStatus;
+ //NTSTATUS pktStatus;
IRP pseudoIrp = {0};
/*
--*/
VOID
+NTAPI
ClassSendStartUnit(
IN PDEVICE_OBJECT Fdo
)
return;
} // end StartUnit()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassAsynchronousCompletion() ISSUE-2000/02/18-henrygab - why public?!
--*/
NTSTATUS
+NTAPI
ClassAsynchronousCompletion(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClassAsynchronousCompletion()
-\f
-
-VOID ServiceTransferRequest(PDEVICE_OBJECT Fdo, PIRP Irp)
+VOID NTAPI ServiceTransferRequest(PDEVICE_OBJECT Fdo, PIRP Irp)
{
- PCOMMON_DEVICE_EXTENSION commonExt = Fdo->DeviceExtension;
+ //PCOMMON_DEVICE_EXTENSION commonExt = Fdo->DeviceExtension;
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
- PSTORAGE_ADAPTER_DESCRIPTOR adapterDesc = commonExt->PartitionZeroExtension->AdapterDescriptor;
+ //PSTORAGE_ADAPTER_DESCRIPTOR adapterDesc = commonExt->PartitionZeroExtension->AdapterDescriptor;
PIO_STACK_LOCATION currentSp = IoGetCurrentIrpStackLocation(Irp);
ULONG entireXferLen = currentSp->Parameters.Read.Length;
PUCHAR bufPtr = MmGetMdlVirtualAddress(Irp->MdlAddress);
SINGLE_LIST_ENTRY pktList;
PSINGLE_LIST_ENTRY slistEntry;
ULONG numPackets;
- KIRQL oldIrql;
+ //KIRQL oldIrql;
ULONG i;
/*
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClassIoComplete()
--*/
NTSTATUS
+NTAPI
ClassIoComplete(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
} // end ClassIoComplete()
-
/*++////////////////////////////////////////////////////////////////////////////
ClassSendSrbSynchronous()
--*/
NTSTATUS
+NTAPI
ClassSendSrbSynchronous(
PDEVICE_OBJECT Fdo,
PSCSI_REQUEST_BLOCK Srb,
return status;
}
-\f
/*++////////////////////////////////////////////////////////////////////////////
ClassInterpretSenseInfo()
--*/
BOOLEAN
+NTAPI
ClassInterpretSenseInfo(
IN PDEVICE_OBJECT Fdo,
IN PSCSI_REQUEST_BLOCK Srb,
case SCSI_SENSE_UNIT_ATTENTION: {
- PVPB vpb;
+ //PVPB vpb;
ULONG count;
//
} // end ClassInterpretSenseInfo()
-
-\f
/*++////////////////////////////////////////////////////////////////////////////
ClassModeSense()
Length of the transferred data is returned.
--*/
-ULONG ClassModeSense( IN PDEVICE_OBJECT Fdo,
+ULONG NTAPI ClassModeSense( IN PDEVICE_OBJECT Fdo,
IN PCHAR ModeSenseBuffer,
IN ULONG Length,
IN UCHAR PageMode)
TRANSFER_PACKET *pkt = DequeueFreeTransferPacket(Fdo, TRUE);
if (pkt){
KEVENT event;
- NTSTATUS pktStatus;
+ //NTSTATUS pktStatus;
IRP pseudoIrp = {0};
/*
return lengthTransferred;
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClassFindModePage()
--*/
PVOID
+NTAPI
ClassFindModePage(
IN PCHAR ModeSenseBuffer,
IN ULONG Length,
return result;
} // end ClassFindModePage()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSendSrbAsynchronous()
--*/
NTSTATUS
+NTAPI
ClassSendSrbAsynchronous(
PDEVICE_OBJECT Fdo,
PSCSI_REQUEST_BLOCK Srb,
return STATUS_PENDING;
} // end ClassSendSrbAsynchronous()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassDeviceControlDispatch()
--*/
NTSTATUS
+NTAPI
ClassDeviceControlDispatch(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
return commonExtension->DevInfo->ClassDeviceControl(DeviceObject,Irp);
} // end ClassDeviceControlDispatch()
-\f
/*++////////////////////////////////////////////////////////////////////////////
ClassDeviceControl()
--*/
NTSTATUS
+NTAPI
ClassDeviceControl(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
if ((controlCode == IOCTL_SCSI_PASS_THROUGH) ||
(controlCode == IOCTL_SCSI_PASS_THROUGH_DIRECT)) {
- PSCSI_PASS_THROUGH scsiPass;
+ //PSCSI_PASS_THROUGH scsiPass;
//
// Validiate the user buffer.
return status;
} // end ClassDeviceControl()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassShutdownFlush()
--*/
NTSTATUS
+NTAPI
ClassShutdownFlush(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
ULONG isRemoved;
- NTSTATUS status;
+ //NTSTATUS status;
isRemoved = ClassAcquireRemoveLock(DeviceObject, Irp);
return STATUS_INVALID_DEVICE_REQUEST;
} // end ClassShutdownFlush()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassCreateDeviceObject()
--*/
NTSTATUS
+NTAPI
ClassCreateDeviceObject(
IN PDRIVER_OBJECT DriverObject,
IN PCCHAR ObjectNameBuffer,
BOOLEAN isPartitionable;
STRING ntNameString;
UNICODE_STRING ntUnicodeString;
- NTSTATUS status, status2;
+ NTSTATUS status;
PDEVICE_OBJECT deviceObject = NULL;
ULONG characteristics;
return status;
} // end ClassCreateDeviceObject()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassClaimDevice()
--*/
NTSTATUS
+NTAPI
ClassClaimDevice(
IN PDEVICE_OBJECT LowerDeviceObject,
IN BOOLEAN Release
return status;
} // end ClassClaimDevice()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassInternalIoControl()
--*/
NTSTATUS
+NTAPI
ClassInternalIoControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return IoCallDriver(commonExtension->LowerDeviceObject, Irp);
} // end ClassInternalIoControl()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassQueryTimeOutRegistryValue()
--*/
ULONG
+NTAPI
ClassQueryTimeOutRegistryValue(
IN PDEVICE_OBJECT DeviceObject
)
return timeOut;
} // end ClassQueryTimeOutRegistryValue()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassCheckVerifyComplete() ISSUE-2000/02/18-henrygab - why public?!
--*/
NTSTATUS
+NTAPI
ClassCheckVerifyComplete(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClassCheckVerifyComplete()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassGetDescriptor()
--*/
NTSTATUS
+NTAPI
ClassGetDescriptor(
IN PDEVICE_OBJECT DeviceObject,
IN PSTORAGE_PROPERTY_ID PropertyId,
PSTORAGE_DESCRIPTOR_HEADER descriptor = NULL;
ULONG length;
- UCHAR pass = 0;
+ //UCHAR pass = 0;
PAGED_CODE();
*Descriptor = descriptor;
return ioStatus.Status;
} // end ClassGetDescriptor()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSignalCompletion()
--*/
NTSTATUS
+NTAPI
ClassSignalCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClassSignalCompletion()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassPnpQueryFdoRelations()
--*/
NTSTATUS
+NTAPI
ClassPnpQueryFdoRelations(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp
return Irp->IoStatus.Status;
} // end ClassPnpQueryFdoRelations()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassMarkChildrenMissing()
--*/
VOID
+NTAPI
ClassMarkChildrenMissing(
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo
)
ClassReleaseChildLock(Fdo);
return;
} // end ClassMarkChildrenMissing()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassMarkChildMissing()
--*/
BOOLEAN
+NTAPI
ClassMarkChildMissing(
IN PPHYSICAL_DEVICE_EXTENSION Child,
IN BOOLEAN AcquireChildLock
return returnValue;
} // end ClassMarkChildMissing()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassRetrieveDeviceRelations()
--*/
NTSTATUS
+NTAPI
ClassRetrieveDeviceRelations(
IN PDEVICE_OBJECT Fdo,
IN DEVICE_RELATION_TYPE RelationType,
ClassReleaseChildLock(fdoExtension);
return STATUS_SUCCESS;
} // end ClassRetrieveDeviceRelations()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassGetPdoId()
--*/
NTSTATUS
+NTAPI
ClassGetPdoId(
IN PDEVICE_OBJECT Pdo,
IN BUS_QUERY_ID_TYPE IdType,
return driverExtension->InitData.ClassQueryId( Pdo, IdType, IdString);
} // end ClassGetPdoId()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassQueryPnpCapabilities()
--*/
NTSTATUS
+NTAPI
ClassQueryPnpCapabilities(
IN PDEVICE_OBJECT DeviceObject,
IN PDEVICE_CAPABILITIES Capabilities
return STATUS_NOT_IMPLEMENTED;
}
} // end ClassQueryPnpCapabilities()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassInvalidateBusRelations()
--*/
VOID
+NTAPI
ClassInvalidateBusRelations(
IN PDEVICE_OBJECT Fdo
)
return;
} // end ClassInvalidateBusRelations()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassRemoveDevice() ISSUE-2000/02/18-henrygab - why public?!
--*/
NTSTATUS
+NTAPI
ClassRemoveDevice(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR RemoveType
status = STATUS_SUCCESS;
if (commonExtension->IsFdo){
- PDEVICE_OBJECT pdo;
+ //PDEVICE_OBJECT pdo;
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
ClasspDisableTimer(fdoExtension->DeviceObject);
return STATUS_SUCCESS;
} // end ClassRemoveDevice()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassGetDriverExtension()
--*/
PCLASS_DRIVER_EXTENSION
+NTAPI
ClassGetDriverExtension(
IN PDRIVER_OBJECT DriverObject
)
{
return IoGetDriverObjectExtension(DriverObject, CLASS_DRIVER_EXTENSION_KEY);
} // end ClassGetDriverExtension()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspStartIo()
--*/
VOID
+NTAPI
ClasspStartIo(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return;
} // ClasspStartIo()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassUpdateInformationInRegistry()
--*/
VOID
+NTAPI
ClassUpdateInformationInRegistry(
IN PDEVICE_OBJECT Fdo,
IN PCHAR DeviceName,
}
} // end ClassUpdateInformationInRegistry()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspSendSynchronousCompletion()
--*/
NTSTATUS
+NTAPI
ClasspSendSynchronousCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClasspSendSynchronousCompletion()
-\f
+
/*++
ISSUE-2000/02/20-henrygab Not documented ClasspRegisterMountedDeviceInterface
--*/
VOID
+NTAPI
ClasspRegisterMountedDeviceInterface(
IN PDEVICE_OBJECT DeviceObject
)
}
return;
} // end ClasspRegisterMountedDeviceInterface()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSendDeviceIoControlSynchronous()
--*/
VOID
+NTAPI
ClassSendDeviceIoControlSynchronous(
IN ULONG IoControlCode,
IN PDEVICE_OBJECT TargetDeviceObject,
return;
} // end ClassSendDeviceIoControlSynchronous()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassForwardIrpSynchronous()
--*/
NTSTATUS
+NTAPI
ClassForwardIrpSynchronous(
IN PCOMMON_DEVICE_EXTENSION CommonExtension,
IN PIRP Irp
IoCopyCurrentIrpStackLocationToNext(Irp);
return ClassSendIrpSynchronous(CommonExtension->LowerDeviceObject, Irp);
} // end ClassForwardIrpSynchronous()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSendIrpSynchronous()
--*/
NTSTATUS
+NTAPI
ClassSendIrpSynchronous(
IN PDEVICE_OBJECT TargetDeviceObject,
IN PIRP Irp
return status;
} // end ClassSendIrpSynchronous()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassGetVpb()
--*/
PVPB
+NTAPI
ClassGetVpb(
IN PDEVICE_OBJECT DeviceObject
)
{
return DeviceObject->Vpb;
} // end ClassGetVpb()
-\f
+
/*++
ISSUE-2000/02/20-henrygab Not documented ClasspAllocateReleaseRequest
--*/
NTSTATUS
+NTAPI
ClasspAllocateReleaseRequest(
IN PDEVICE_OBJECT Fdo
)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
- PIO_STACK_LOCATION irpStack;
+ //PIO_STACK_LOCATION irpStack;
KeInitializeSpinLock(&(fdoExtension->ReleaseQueueSpinLock));
return STATUS_SUCCESS;
} // end ClasspAllocateReleaseRequest()
-\f
+
/*++
ISSUE-2000/02/20-henrygab Not documented ClasspFreeReleaseRequest
--*/
VOID
+NTAPI
ClasspFreeReleaseRequest(
IN PDEVICE_OBJECT Fdo
)
return;
} // end ClasspFreeReleaseRequest()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassReleaseQueue()
--*/
VOID
+NTAPI
ClassReleaseQueue(
IN PDEVICE_OBJECT Fdo
)
ClasspReleaseQueue(Fdo, NULL);
return;
} // end ClassReleaseQueue()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspAllocateReleaseQueueIrp()
--*/
NTSTATUS
+NTAPI
ClasspAllocateReleaseQueueIrp(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
{
- KIRQL oldIrql;
+ //KIRQL oldIrql;
UCHAR lowerStackSize;
//
return STATUS_SUCCESS;
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClasspReleaseQueue()
--*/
VOID
+NTAPI
ClasspReleaseQueue(
IN PDEVICE_OBJECT Fdo,
IN PIRP ReleaseQueueIrp OPTIONAL
return;
} // end ClassReleaseQueue()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassReleaseQueueCompletion()
--*/
NTSTATUS
+NTAPI
ClassReleaseQueueCompletion(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // ClassAsynchronousCompletion()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassAcquireChildLock()
--*/
VOID
+NTAPI
ClassAcquireChildLock(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
FdoExtension->ChildLockAcquisitionCount++;
return;
}
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassReleaseChildLock() ISSUE-2000/02/18-henrygab - not documented
--*/
VOID
+NTAPI
ClassReleaseChildLock(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
} // end ClassReleaseChildLock(
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassAddChild()
--*/
VOID
+NTAPI
ClassAddChild(
IN PFUNCTIONAL_DEVICE_EXTENSION Parent,
IN PPHYSICAL_DEVICE_EXTENSION Child,
}
return;
} // end ClassAddChild()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassRemoveChild()
--*/
PPHYSICAL_DEVICE_EXTENSION
+NTAPI
ClassRemoveChild(
IN PFUNCTIONAL_DEVICE_EXTENSION Parent,
IN PPHYSICAL_DEVICE_EXTENSION Child,
return Child;
} // end ClassRemoveChild()
-\f
/*++
ISSUE-2000/02/20-henrygab Not documented ClasspRetryRequestDpc
--*/
VOID
+NTAPI
ClasspRetryRequestDpc(
IN PKDPC Dpc,
IN PDEVICE_OBJECT DeviceObject,
return;
} // end ClasspRetryRequestDpc()
-\f
+
/*++
ISSUE-2000/02/20-henrygab Not documented ClassRetryRequest
--*/
VOID
+NTAPI
ClassRetryRequest(
IN PDEVICE_OBJECT SelfDeviceObject,
IN PIRP Irp,
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
PCLASS_PRIVATE_FDO_DATA fdoData;
PCLASS_RETRY_INFO retryInfo;
- PCLASS_RETRY_INFO *previousNext;
+ //PCLASS_RETRY_INFO *previousNext;
LARGE_INTEGER delta;
KIRQL irql;
} // end ClassRetryRequest()
-\f
+
/*++
ISSUE-2000/02/20-henrygab Not documented ClasspRetryDpcTimer
--*/
VOID
+NTAPI
ClasspRetryDpcTimer(
IN PCLASS_PRIVATE_FDO_DATA FdoData
)
return;
} // end ClasspRetryDpcTimer()
-\f
+
NTSTATUS
+NTAPI
ClasspInitializeHotplugInfo(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return STATUS_SUCCESS;
}
-\f
+
VOID
+NTAPI
ClasspScanForClassHacks(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN ULONG_PTR Data
SET_FLAG(FdoExtension->PrivateFdoData->HackFlags, Data);
return;
}
-\f
+
VOID
+NTAPI
ClasspScanForSpecialInRegistry(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
}
-
-
-
-
}
NTSTATUS
+NTAPI
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
VOID
+NTAPI
ClassUnload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
+NTAPI
ClassCreateClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClasspCreateClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
+NTAPI
ClasspCleanupProtectedLocks(
IN PFILE_OBJECT_EXTENSION FsContext
);
NTSTATUS
+NTAPI
ClasspEjectionControl(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClassReadWrite(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClassDeviceControlDispatch(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
-ClassDeviceControl(
- PDEVICE_OBJECT DeviceObject,
- PIRP Irp
- );
-
-NTSTATUS
+NTAPI
ClassDispatchPnp(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
+NTAPI
ClassPnpStartDevice(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
-ClassInternalIoControl (
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp
- );
-
-NTSTATUS
+NTAPI
ClassShutdownFlush(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClassSystemControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
//
NTSTATUS
+NTAPI
ClassAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN OUT PDEVICE_OBJECT PhysicalDeviceObject
);
NTSTATUS
+NTAPI
ClasspSendSynchronousCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
VOID
+NTAPI
RetryRequest(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
);
NTSTATUS
+NTAPI
ClassIoCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClassPnpQueryFdoRelations(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClassRetrieveDeviceRelations(
IN PDEVICE_OBJECT Fdo,
IN DEVICE_RELATION_TYPE RelationType,
);
NTSTATUS
+NTAPI
ClassGetPdoId(
IN PDEVICE_OBJECT Pdo,
IN BUS_QUERY_ID_TYPE IdType,
);
NTSTATUS
+NTAPI
ClassQueryPnpCapabilities(
IN PDEVICE_OBJECT PhysicalDeviceObject,
IN PDEVICE_CAPABILITIES Capabilities
);
VOID
+NTAPI
ClasspStartIo(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClasspPagingNotificationCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClasspMediaChangeCompletion(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
);
PFILE_OBJECT_EXTENSION
+NTAPI
ClasspGetFsContext(
IN PCOMMON_DEVICE_EXTENSION CommonExtension,
IN PFILE_OBJECT FileObject
);
NTSTATUS
+NTAPI
ClasspMcnControl(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PIRP Irp,
);
VOID
+NTAPI
ClasspRegisterMountedDeviceInterface(
IN PDEVICE_OBJECT DeviceObject
);
NTSTATUS
+NTAPI
ClasspDisableTimer(
PDEVICE_OBJECT DeviceObject
);
NTSTATUS
+NTAPI
ClasspEnableTimer(
PDEVICE_OBJECT DeviceObject
);
//
VOID
+NTAPI
InitializeDictionary(
IN PDICTIONARY Dictionary
);
BOOLEAN
+NTAPI
TestDictionarySignature(
IN PDICTIONARY Dictionary
);
NTSTATUS
+NTAPI
AllocateDictionaryEntry(
IN PDICTIONARY Dictionary,
IN ULONGLONG Key,
);
PVOID
+NTAPI
GetDictionaryEntry(
IN PDICTIONARY Dictionary,
IN ULONGLONG Key
);
VOID
+NTAPI
FreeDictionaryEntry(
IN PDICTIONARY Dictionary,
IN PVOID Entry
NTSTATUS
+NTAPI
ClasspAllocateReleaseRequest(
IN PDEVICE_OBJECT Fdo
);
VOID
+NTAPI
ClasspFreeReleaseRequest(
IN PDEVICE_OBJECT Fdo
);
NTSTATUS
+NTAPI
ClassReleaseQueueCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
VOID
+NTAPI
ClasspReleaseQueue(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP ReleaseQueueIrp
);
VOID
+NTAPI
ClasspDisablePowerNotification(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
//
NTSTATUS
+NTAPI
ClassDispatchPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
+NTAPI
ClassMinimalPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
//
VOID
+NTAPI
ClassAddChild(
IN PFUNCTIONAL_DEVICE_EXTENSION Parent,
IN PPHYSICAL_DEVICE_EXTENSION Child,
);
PPHYSICAL_DEVICE_EXTENSION
+NTAPI
ClassRemoveChild(
IN PFUNCTIONAL_DEVICE_EXTENSION Parent,
IN PPHYSICAL_DEVICE_EXTENSION Child,
);
VOID
+NTAPI
ClasspRetryDpcTimer(
IN PCLASS_PRIVATE_FDO_DATA FdoData
);
VOID
+NTAPI
ClasspRetryRequestDpc(
IN PKDPC Dpc,
IN PDEVICE_OBJECT DeviceObject,
);
VOID
+NTAPI
ClassFreeOrReuseSrb(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PSCSI_REQUEST_BLOCK Srb
);
VOID
+NTAPI
ClassRetryRequest(
IN PDEVICE_OBJECT SelfDeviceObject,
IN PIRP Irp,
);
VOID
+NTAPI
ClasspBuildRequestEx(
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClasspAllocateReleaseQueueIrp(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
NTSTATUS
+NTAPI
ClasspInitializeGesn(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PMEDIA_CHANGE_DETECTION_INFO Info
);
VOID
+NTAPI
ClasspSendNotification(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN const GUID * Guid,
);
VOID
+NTAPI
ClassSendEjectionNotification(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
VOID
+NTAPI
ClasspScanForSpecialInRegistry(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
VOID
+NTAPI
ClasspScanForClassHacks(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN ULONG_PTR Data
);
NTSTATUS
+NTAPI
ClasspInitializeHotplugInfo(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
VOID
+NTAPI
ClasspPerfIncrementErrorCount(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
VOID
+NTAPI
ClasspPerfIncrementSuccessfulIo(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
-
-PTRANSFER_PACKET NewTransferPacket(PDEVICE_OBJECT Fdo);
-VOID DestroyTransferPacket(PTRANSFER_PACKET Pkt);
-VOID EnqueueFreeTransferPacket(PDEVICE_OBJECT Fdo, PTRANSFER_PACKET Pkt);
-PTRANSFER_PACKET DequeueFreeTransferPacket(PDEVICE_OBJECT Fdo, BOOLEAN AllocIfNeeded);
-VOID SetupReadWriteTransferPacket(PTRANSFER_PACKET pkt, PVOID Buf, ULONG Len, LARGE_INTEGER DiskLocation, PIRP OriginalIrp);
-VOID SubmitTransferPacket(PTRANSFER_PACKET Pkt);
-NTSTATUS TransferPktComplete(IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID Context);
-VOID ServiceTransferRequest(PDEVICE_OBJECT Fdo, PIRP Irp);
-VOID TransferPacketRetryTimerDpc(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2);
-BOOLEAN InterpretTransferPacketError(PTRANSFER_PACKET Pkt);
-BOOLEAN RetryTransferPacket(PTRANSFER_PACKET Pkt);
-VOID EnqueueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData, PIRP Irp);
-PIRP DequeueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData);
-VOID InitLowMemRetry(PTRANSFER_PACKET Pkt, PVOID BufPtr, ULONG Len, LARGE_INTEGER TargetLocation);
-BOOLEAN StepLowMemRetry(PTRANSFER_PACKET Pkt);
-VOID SetupEjectionTransferPacket(TRANSFER_PACKET *Pkt, BOOLEAN PreventMediaRemoval, PKEVENT SyncEventPtr, PIRP OriginalIrp);
-VOID SetupModeSenseTransferPacket(TRANSFER_PACKET *Pkt, PKEVENT SyncEventPtr, PVOID ModeSenseBuffer, UCHAR ModeSenseBufferLen, UCHAR PageMode, PIRP OriginalIrp);
-VOID SetupDriveCapacityTransferPacket(TRANSFER_PACKET *Pkt, PVOID ReadCapacityBuffer, ULONG ReadCapacityBufferLen, PKEVENT SyncEventPtr, PIRP OriginalIrp);
-PMDL BuildDeviceInputMdl(PVOID Buffer, ULONG BufferLen);
-VOID FreeDeviceInputMdl(PMDL Mdl);
-NTSTATUS InitializeTransferPackets(PDEVICE_OBJECT Fdo);
-VOID DestroyAllTransferPackets(PDEVICE_OBJECT Fdo);
-
-
-
-
-
+PTRANSFER_PACKET NTAPI NewTransferPacket(PDEVICE_OBJECT Fdo);
+VOID NTAPI DestroyTransferPacket(PTRANSFER_PACKET Pkt);
+VOID NTAPI EnqueueFreeTransferPacket(PDEVICE_OBJECT Fdo, PTRANSFER_PACKET Pkt);
+PTRANSFER_PACKET NTAPI DequeueFreeTransferPacket(PDEVICE_OBJECT Fdo, BOOLEAN AllocIfNeeded);
+VOID NTAPI SetupReadWriteTransferPacket(PTRANSFER_PACKET pkt, PVOID Buf, ULONG Len, LARGE_INTEGER DiskLocation, PIRP OriginalIrp);
+VOID NTAPI SubmitTransferPacket(PTRANSFER_PACKET Pkt);
+NTSTATUS NTAPI TransferPktComplete(IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID Context);
+VOID NTAPI ServiceTransferRequest(PDEVICE_OBJECT Fdo, PIRP Irp);
+VOID NTAPI TransferPacketRetryTimerDpc(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2);
+BOOLEAN NTAPI InterpretTransferPacketError(PTRANSFER_PACKET Pkt);
+BOOLEAN NTAPI RetryTransferPacket(PTRANSFER_PACKET Pkt);
+VOID NTAPI EnqueueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData, PIRP Irp);
+PIRP NTAPI DequeueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData);
+VOID NTAPI InitLowMemRetry(PTRANSFER_PACKET Pkt, PVOID BufPtr, ULONG Len, LARGE_INTEGER TargetLocation);
+BOOLEAN NTAPI StepLowMemRetry(PTRANSFER_PACKET Pkt);
+VOID NTAPI SetupEjectionTransferPacket(TRANSFER_PACKET *Pkt, BOOLEAN PreventMediaRemoval, PKEVENT SyncEventPtr, PIRP OriginalIrp);
+VOID NTAPI SetupModeSenseTransferPacket(TRANSFER_PACKET *Pkt, PKEVENT SyncEventPtr, PVOID ModeSenseBuffer, UCHAR ModeSenseBufferLen, UCHAR PageMode, PIRP OriginalIrp);
+VOID NTAPI SetupDriveCapacityTransferPacket(TRANSFER_PACKET *Pkt, PVOID ReadCapacityBuffer, ULONG ReadCapacityBufferLen, PKEVENT SyncEventPtr, PIRP OriginalIrp);
+PMDL NTAPI BuildDeviceInputMdl(PVOID Buffer, ULONG BufferLen);
+VOID NTAPI FreeDeviceInputMdl(PMDL Mdl);
+NTSTATUS NTAPI InitializeTransferPackets(PDEVICE_OBJECT Fdo);
+VOID NTAPI DestroyAllTransferPackets(PDEVICE_OBJECT Fdo);
#include "classp.h"
NTSTATUS
+NTAPI
ClassSystemControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
--*/
NTSTATUS
+NTAPI
ClassSystemControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
--*/
SCSIPORTAPI
NTSTATUS
+NTAPI
ClassWmiCompleteRequest(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
{
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp);
- UCHAR MinorFunction;
+ //UCHAR MinorFunction;
PUCHAR buffer;
ULONG retSize;
UCHAR minorFunction;
--*/
NTSTATUS
+NTAPI
ClassWmiFireEvent(
IN PDEVICE_OBJECT DeviceObject,
IN LPGUID Guid,
#include "classp.h"
#include "debug.h"
-
/*
* EnqueueDeferredClientIrp
*
* Note: we currently do not support Cancel for storage irps.
*/
-VOID EnqueueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData, PIRP Irp)
+VOID NTAPI EnqueueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData, PIRP Irp)
{
KIRQL oldIrql;
* DequeueDeferredClientIrp
*
*/
-PIRP DequeueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData)
+PIRP NTAPI DequeueDeferredClientIrp(PCLASS_PRIVATE_FDO_DATA FdoData)
{
KIRQL oldIrql;
PLIST_ENTRY listEntry;
return irp;
}
-
-
-
PFILE_OBJECT_EXTENSION
+NTAPI
ClasspGetFsContext(
IN PCOMMON_DEVICE_EXTENSION CommonExtension,
IN PFILE_OBJECT FileObject
);
VOID
+NTAPI
ClasspCleanupDisableMcn(
IN PFILE_OBJECT_EXTENSION FsContext
);
-\f
+
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, ClassCreateClose)
#pragma alloc_text(PAGE, ClasspCreateClose)
#endif
NTSTATUS
+NTAPI
ClassCreateClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return status;
}
-\f
NTSTATUS
+NTAPI
ClasspCreateClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return status;
}
-\f
VOID
+NTAPI
ClasspCleanupProtectedLocks(
IN PFILE_OBJECT_EXTENSION FsContext
)
return;
}
-\f
VOID
+NTAPI
ClasspCleanupDisableMcn(
IN PFILE_OBJECT_EXTENSION FsContext
)
return;
}
-
#if 1
/*
* BUGBUG REMOVE this old function implementation as soon as the
* are resolved.
*/
NTSTATUS
+NTAPI
ClasspEjectionControl(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
* HOWEVER, it seems to cause pagefile initialization to fail during boot
* for some reason. Need to resolve this before switching to this function.
*/
-NTSTATUS
+NTSTATUS
+NTAPI
ClasspEjectionControl(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
#endif
PFILE_OBJECT_EXTENSION
+NTAPI
ClasspGetFsContext(
IN PCOMMON_DEVICE_EXTENSION CommonExtension,
IN PFILE_OBJECT FileObject
return GetDictionaryEntry(&(CommonExtension->FileObjectDictionary),
(ULONGLONG) FileObject);
}
-
VOID
+NTAPI
InitializeDictionary(
IN PDICTIONARY Dictionary
)
return;
}
-
BOOLEAN
+NTAPI
TestDictionarySignature(
IN PDICTIONARY Dictionary
)
}
NTSTATUS
+NTAPI
AllocateDictionaryEntry(
IN PDICTIONARY Dictionary,
IN ULONGLONG Key,
return status;
}
-
PVOID
+NTAPI
GetDictionaryEntry(
IN PDICTIONARY Dictionary,
IN ULONGLONG Key
return data;
}
-
VOID
+NTAPI
FreeDictionaryEntry(
IN PDICTIONARY Dictionary,
IN PVOID Entry
return;
}
-
-
--*/
ULONG
+NTAPI
ClassAcquireRemoveLockEx(
IN PDEVICE_OBJECT DeviceObject,
IN OPTIONAL PVOID Tag,
--*/
VOID
+NTAPI
ClassReleaseRemoveLock(
IN PDEVICE_OBJECT DeviceObject,
IN OPTIONAL PIRP Tag
--*/
VOID
+NTAPI
ClassCompleteRequest(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
#include "classp.h"
#include "debug.h"
-PIRP ClassRemoveCScanList(IN PCSCAN_LIST List);
-VOID ClasspInitializeCScanList(IN PCSCAN_LIST List);
+PIRP NTAPI ClassRemoveCScanList(IN PCSCAN_LIST List);
+VOID NTAPI ClasspInitializeCScanList(IN PCSCAN_LIST List);
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, ClassDeleteSrbLookasideList)
ULONGLONG BlockNumber;
} CSCAN_LIST_ENTRY, *PCSCAN_LIST_ENTRY;
-
-
-
-
/*
* ClassSplitRequest
*
* StartIo routine when the transfer size is too large for the hardware.
* We map it to our new read/write handler.
*/
-VOID ClassSplitRequest(IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN ULONG MaximumBytes)
+VOID NTAPI ClassSplitRequest(IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN ULONG MaximumBytes)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
ServiceTransferRequest(Fdo, Irp);
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClassIoCompleteAssociated()
--*/
NTSTATUS
+NTAPI
ClassIoCompleteAssociated(
IN PDEVICE_OBJECT Fdo,
IN PIRP Irp,
} // end ClassIoCompleteAssociated()
-
/*++////////////////////////////////////////////////////////////////////////////
RetryRequest()
--*/
VOID
+NTAPI
RetryRequest(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
return;
} // end RetryRequest()
-\f
/*++
ClassBuildRequest()
--*/
NTSTATUS
+NTAPI
ClassBuildRequest(
PDEVICE_OBJECT Fdo,
PIRP Irp
} // end ClassBuildRequest()
-
VOID
+NTAPI
ClasspBuildRequestEx(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PIRP Irp,
}
-
-VOID ClasspInsertCScanList(IN PLIST_ENTRY ListHead, IN PCSCAN_LIST_ENTRY Entry)
+VOID NTAPI ClasspInsertCScanList(IN PLIST_ENTRY ListHead, IN PCSCAN_LIST_ENTRY Entry)
{
PCSCAN_LIST_ENTRY t;
}
-
-VOID ClassInsertCScanList(IN PCSCAN_LIST List, IN PIRP Irp, IN ULONGLONG BlockNumber, IN BOOLEAN LowPriority)
+VOID NTAPI ClassInsertCScanList(IN PCSCAN_LIST List, IN PIRP Irp, IN ULONGLONG BlockNumber, IN BOOLEAN LowPriority)
/*++
Routine Description:
return;
}
-
-
-
-VOID ClassFreeOrReuseSrb( IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
- IN PSCSI_REQUEST_BLOCK Srb)
+VOID NTAPI ClassFreeOrReuseSrb(IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
+ IN PSCSI_REQUEST_BLOCK Srb)
/*++
Routine Description:
}
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClassDeleteSrbLookasideList()
None
--*/
-VOID ClassDeleteSrbLookasideList(IN PCOMMON_DEVICE_EXTENSION CommonExtension)
+VOID NTAPI ClassDeleteSrbLookasideList(IN PCOMMON_DEVICE_EXTENSION CommonExtension)
{
PAGED_CODE();
}
}
-
/*++////////////////////////////////////////////////////////////////////////////
ClassInitializeSrbLookasideList()
--*/
-VOID ClassInitializeSrbLookasideList( IN PCOMMON_DEVICE_EXTENSION CommonExtension,
- IN ULONG NumberElements)
+VOID NTAPI ClassInitializeSrbLookasideList(IN PCOMMON_DEVICE_EXTENSION CommonExtension,
+ IN ULONG NumberElements)
{
PAGED_CODE();
}
-
-
-
-VOID ClasspInitializeCScanList(IN PCSCAN_LIST List)
+VOID NTAPI ClasspInitializeCScanList(IN PCSCAN_LIST List)
{
PAGED_CODE();
RtlZeroMemory(List, sizeof(CSCAN_LIST));
InitializeListHead(&(List->NextSweep));
}
-
-
-VOID ClasspStartNextSweep(PCSCAN_LIST List)
+VOID NTAPI ClasspStartNextSweep(PCSCAN_LIST List)
{
ASSERT(IsListEmpty(&(List->CurrentSweep)) == TRUE);
return;
}
-
-
-PIRP ClassRemoveCScanList(IN PCSCAN_LIST List)
+PIRP NTAPI ClassRemoveCScanList(IN PCSCAN_LIST List)
{
PCSCAN_LIST_ENTRY entry;
return CONTAINING_RECORD(entry, IRP, Tail.Overlay.DriverContext);
}
-
#define CLASS_TAG_POWER 'WLcS'
NTSTATUS
+NTAPI
ClasspPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClasspPowerDownCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
NTSTATUS
+NTAPI
ClasspPowerUpCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
);
VOID
+NTAPI
RetryPowerRequest(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
);
NTSTATUS
+NTAPI
ClasspStartNextPowerIrpCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassDispatchPower()
--*/
NTSTATUS
+NTAPI
ClassDispatchPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return commonExtension->DevInfo->ClassPowerDevice(DeviceObject, Irp);
} // end ClassDispatchPower()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspPowerUpCompletion()
--*/
NTSTATUS
+NTAPI
ClasspPowerUpCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClasspPowerUpCompletion()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspPowerDownCompletion()
--*/
NTSTATUS
+NTAPI
ClasspPowerDownCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
return STATUS_MORE_PROCESSING_REQUIRED;
} // end ClasspPowerDownCompletion()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspPowerHandler()
--*/
NTSTATUS
+NTAPI
ClasspPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
TRUE);
return PoCallDriver(lowerDevice, Irp);
} // end ClasspPowerHandler()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassMinimalPowerHandler()
--*/
NTSTATUS
+NTAPI
ClassMinimalPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return status;
}
} // end ClassMinimalPowerHandler()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassSpinDownPowerHandler()
--*/
NTSTATUS
+NTAPI
ClassSpinDownPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return ClasspPowerHandler(DeviceObject, Irp, options);
} // end ClassSpinDownPowerHandler()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClassStopUnitPowerHandler()
--*/
NTSTATUS
+NTAPI
ClassStopUnitPowerHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
return ClassSpinDownPowerHandler(DeviceObject, Irp);
} // end ClassStopUnitPowerHandler()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
RetryPowerRequest()
--*/
VOID
+NTAPI
RetryPowerRequest(
PDEVICE_OBJECT DeviceObject,
PIRP Irp,
return;
} // end RetryRequest()
-\f
+
/*++////////////////////////////////////////////////////////////////////////////
ClasspStartNextPowerIrpCompletion()
--*/
NTSTATUS
+NTAPI
ClasspStartNextPowerIrpCompletion(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
PoStartNextPowerIrp(Irp);
return STATUS_SUCCESS;
} // end ClasspStartNextPowerIrpCompletion()
-
#include "classp.h"
#include "debug.h"
-
-
/*
* InterpretTransferPacketError
*
*
* Return TRUE iff packet should be retried.
*/
-BOOLEAN InterpretTransferPacketError(PTRANSFER_PACKET Pkt)
+BOOLEAN NTAPI InterpretTransferPacketError(PTRANSFER_PACKET Pkt)
{
BOOLEAN shouldRetry = FALSE;
PCDB pCdb = (PCDB)Pkt->Srb.Cdb;
return shouldRetry;
}
-
/*
* RetryTransferPacket
*
* Return TRUE iff the packet is complete.
* (if so the status in pkt->irp is the final status).
*/
-BOOLEAN RetryTransferPacket(PTRANSFER_PACKET Pkt)
+BOOLEAN NTAPI RetryTransferPacket(PTRANSFER_PACKET Pkt)
{
BOOLEAN packetDone;
return packetDone;
}
-
-VOID TransferPacketRetryTimerDpc( IN PKDPC Dpc,
- IN PVOID DeferredContext,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2)
+VOID NTAPI TransferPacketRetryTimerDpc(IN PKDPC Dpc,
+ IN PVOID DeferredContext,
+ IN PVOID SystemArgument1,
+ IN PVOID SystemArgument2)
{
PTRANSFER_PACKET pkt = (PTRANSFER_PACKET)DeferredContext;
SubmitTransferPacket(pkt);
}
-
-VOID InitLowMemRetry(PTRANSFER_PACKET Pkt, PVOID BufPtr, ULONG Len, LARGE_INTEGER TargetLocation)
+VOID NTAPI InitLowMemRetry(PTRANSFER_PACKET Pkt, PVOID BufPtr, ULONG Len, LARGE_INTEGER TargetLocation)
{
ASSERT(Len > 0);
ASSERT(!Pkt->InLowMemRetry);
Pkt->LowMemRetry_nextChunkTargetLocation = TargetLocation;
}
-
/*
* StepLowMemRetry
*
*
* Returns TRUE iff the packet is done.
*/
-BOOLEAN StepLowMemRetry(PTRANSFER_PACKET Pkt)
+BOOLEAN NTAPI StepLowMemRetry(PTRANSFER_PACKET Pkt)
{
BOOLEAN packetDone;
return packetDone;
}
-
#include "classp.h"
#include "debug.h"
-
-
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, ClassGetDeviceParameter)
#pragma alloc_text(PAGE, ClassScanForSpecial)
#pragma alloc_text(PAGE, ClassSetDeviceParameter)
#endif
-
-
// custom string match -- careful!
-BOOLEAN ClasspMyStringMatches(IN PCHAR StringToMatch OPTIONAL, IN PCHAR TargetString)
+BOOLEAN NTAPI ClasspMyStringMatches(IN PCHAR StringToMatch OPTIONAL, IN PCHAR TargetString)
{
ULONG length; // strlen returns an int, not size_t (!)
PAGED_CODE();
return (strncmp(StringToMatch, TargetString, length) == 0);
}
-
-VOID ClassGetDeviceParameter(
+VOID NTAPI ClassGetDeviceParameter(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PWSTR SubkeyName OPTIONAL,
IN PWSTR ParameterName,
} // end ClassGetDeviceParameter()
-
-NTSTATUS ClassSetDeviceParameter(
+NTSTATUS NTAPI ClassSetDeviceParameter(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN PWSTR SubkeyName OPTIONAL,
IN PWSTR ParameterName,
} // end ClassSetDeviceParameter()
-
/*
* ClassScanForSpecial
*
* hardware based upon id strings. it does not check the registry.
*/
-VOID ClassScanForSpecial(
+VOID NTAPI ClassScanForSpecial(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
IN CLASSPNP_SCAN_FOR_SPECIAL_INFO DeviceList[],
IN PCLASS_SCAN_FOR_SPECIAL_HANDLER Function)
} // end ClasspScanForSpecialByInquiry()
-
//
// In order to provide better performance without the need to reboot,
// we need to implement a self-adjusting method to set and clear the
//
VOID
+NTAPI
ClasspPerfIncrementErrorCount(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
}
VOID
+NTAPI
ClasspPerfIncrementSuccessfulIo(
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
return;
}
-
-PMDL BuildDeviceInputMdl(PVOID Buffer, ULONG BufferLen)
+PMDL NTAPI BuildDeviceInputMdl(PVOID Buffer, ULONG BufferLen)
{
PMDL mdl;
return mdl;
}
-
-VOID FreeDeviceInputMdl(PMDL Mdl)
+VOID NTAPI FreeDeviceInputMdl(PMDL Mdl)
{
MmUnlockPages(Mdl);
IoFreeMdl(Mdl);
}
-
#if 0
VOID
ClasspPerfResetCounters(
return;
}
#endif
-
-
*
* Allocate/initialize TRANSFER_PACKETs and related resources.
*/
-NTSTATUS InitializeTransferPackets(PDEVICE_OBJECT Fdo)
+NTSTATUS NTAPI InitializeTransferPackets(PDEVICE_OBJECT Fdo)
{
PCOMMON_DEVICE_EXTENSION commonExt = Fdo->DeviceExtension;
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
return status;
}
-
-VOID DestroyAllTransferPackets(PDEVICE_OBJECT Fdo)
+VOID NTAPI DestroyAllTransferPackets(PDEVICE_OBJECT Fdo)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
ASSERT(fdoData->NumTotalTransferPackets == 0);
}
-
-PTRANSFER_PACKET NewTransferPacket(PDEVICE_OBJECT Fdo)
+PTRANSFER_PACKET NTAPI NewTransferPacket(PDEVICE_OBJECT Fdo)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
return newPkt;
}
-
/*
* DestroyTransferPacket
*
*/
-VOID DestroyTransferPacket(PTRANSFER_PACKET Pkt)
+VOID NTAPI DestroyTransferPacket(PTRANSFER_PACKET Pkt)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Pkt->Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
ExFreePool(Pkt);
}
-
-VOID EnqueueFreeTransferPacket(PDEVICE_OBJECT Fdo, PTRANSFER_PACKET Pkt)
+VOID NTAPI EnqueueFreeTransferPacket(PDEVICE_OBJECT Fdo, PTRANSFER_PACKET Pkt)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
}
-
-PTRANSFER_PACKET DequeueFreeTransferPacket(PDEVICE_OBJECT Fdo, BOOLEAN AllocIfNeeded)
+PTRANSFER_PACKET NTAPI DequeueFreeTransferPacket(PDEVICE_OBJECT Fdo, BOOLEAN AllocIfNeeded)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
return pkt;
}
-
-
/*
* SetupReadWriteTransferPacket
*
* The Irp is set up in SubmitTransferPacket because it must be reset
* for each packet submission.
*/
-VOID SetupReadWriteTransferPacket( PTRANSFER_PACKET Pkt,
- PVOID Buf,
- ULONG Len,
- LARGE_INTEGER DiskLocation,
- PIRP OriginalIrp)
+VOID NTAPI SetupReadWriteTransferPacket(PTRANSFER_PACKET Pkt,
+ PVOID Buf,
+ ULONG Len,
+ LARGE_INTEGER DiskLocation,
+ PIRP OriginalIrp)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Pkt->Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
Pkt->CompleteOriginalIrpWhenLastPacketCompletes = TRUE;
}
-
/*
* SubmitTransferPacket
*
* Set up the IRP for the TRANSFER_PACKET submission and send it down.
*/
-VOID SubmitTransferPacket(PTRANSFER_PACKET Pkt)
+VOID NTAPI SubmitTransferPacket(PTRANSFER_PACKET Pkt)
{
PCOMMON_DEVICE_EXTENSION commonExtension = Pkt->Fdo->DeviceExtension;
PDEVICE_OBJECT nextDevObj = commonExtension->LowerDeviceObject;
IoCallDriver(nextDevObj, Pkt->Irp);
}
-
-NTSTATUS TransferPktComplete(IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID Context)
+NTSTATUS NTAPI TransferPktComplete(IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID Context)
{
PTRANSFER_PACKET pkt = (PTRANSFER_PACKET)Context;
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = pkt->Fdo->DeviceExtension;
return STATUS_MORE_PROCESSING_REQUIRED;
}
-
/*
* SetupEjectionTransferPacket
*
* Set up a transferPacket for a synchronous Ejection Control transfer.
*/
-VOID SetupEjectionTransferPacket( TRANSFER_PACKET *Pkt,
+VOID NTAPI SetupEjectionTransferPacket( TRANSFER_PACKET *Pkt,
BOOLEAN PreventMediaRemoval,
PKEVENT SyncEventPtr,
PIRP OriginalIrp)
Pkt->SyncEventPtr = SyncEventPtr;
Pkt->CompleteOriginalIrpWhenLastPacketCompletes = FALSE;
}
-
/*
* SetupModeSenseTransferPacket
*
* Set up a transferPacket for a synchronous Mode Sense transfer.
*/
-VOID SetupModeSenseTransferPacket( TRANSFER_PACKET *Pkt,
+VOID NTAPI SetupModeSenseTransferPacket(TRANSFER_PACKET *Pkt,
PKEVENT SyncEventPtr,
PVOID ModeSenseBuffer,
UCHAR ModeSenseBufferLen,
Pkt->CompleteOriginalIrpWhenLastPacketCompletes = FALSE;
}
-
/*
* SetupDriveCapacityTransferPacket
*
* Set up a transferPacket for a synchronous Drive Capacity transfer.
*/
-VOID SetupDriveCapacityTransferPacket( TRANSFER_PACKET *Pkt,
- PVOID ReadCapacityBuffer,
- ULONG ReadCapacityBufferLen,
- PKEVENT SyncEventPtr,
- PIRP OriginalIrp)
+VOID NTAPI SetupDriveCapacityTransferPacket(TRANSFER_PACKET *Pkt,
+ PVOID ReadCapacityBuffer,
+ ULONG ReadCapacityBufferLen,
+ PKEVENT SyncEventPtr,
+ PIRP OriginalIrp)
{
PFUNCTIONAL_DEVICE_EXTENSION fdoExt = Pkt->Fdo->DeviceExtension;
PCLASS_PRIVATE_FDO_DATA fdoData = fdoExt->PrivateFdoData;
Pkt->CompleteOriginalIrpWhenLastPacketCompletes = FALSE;
}
-
#if 0
/*
* SetupSendStartUnitTransferPacket
Pkt->CompleteOriginalIrpWhenLastPacketCompletes = FALSE;
}
#endif
-
-