mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:33:07 +00:00
[DISK_NEW]
* Explicitly mark the functions as stdcall. * Fix some warnings. svn path=/trunk/; revision=56974
This commit is contained in:
parent
79df779077
commit
434f07a99c
8 changed files with 263 additions and 175 deletions
|
@ -16,13 +16,9 @@ add_library(disk_new SHARED
|
||||||
target_link_libraries(disk_new libcntpr wdmguid)
|
target_link_libraries(disk_new libcntpr wdmguid)
|
||||||
if(ARCH MATCHES i386)
|
if(ARCH MATCHES i386)
|
||||||
# FIXME: http://www.cmake.org/Bug/view.php?id=12998
|
# FIXME: http://www.cmake.org/Bug/view.php?id=12998
|
||||||
if(MSVC)
|
if(NOT MSVC)
|
||||||
#add_target_compile_flags(disk_new "/Gz")
|
#add_target_compile_flags(disk_new "-Wno-format -Wno-pointer-sign")
|
||||||
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "/Gz")
|
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-Wno-format -Wno-pointer-sign")
|
||||||
else()
|
|
||||||
|
|
||||||
#add_target_compile_flags(disk_new "-mrtd -fno-builtin -Wno-unused-variable -Wno-pointer-sign")
|
|
||||||
set_source_files_properties(${SOURCE} PROPERTIES COMPILE_FLAGS "-mrtd -fno-builtin -Wno-unused-variable -Wno-pointer-sign")
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ Revision History:
|
||||||
#include "ioevent.h"
|
#include "ioevent.h"
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDetermineMediaTypes(
|
DiskDetermineMediaTypes(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -41,18 +42,21 @@ DiskDetermineMediaTypes(
|
||||||
);
|
);
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskPdoFindPartitionEntry(
|
DiskPdoFindPartitionEntry(
|
||||||
IN PPHYSICAL_DEVICE_EXTENSION Pdo,
|
IN PPHYSICAL_DEVICE_EXTENSION Pdo,
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskFindAdjacentPartition(
|
DiskFindAdjacentPartition(
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
||||||
IN PPARTITION_INFORMATION_EX BasePartition
|
IN PPARTITION_INFORMATION_EX BasePartition
|
||||||
);
|
);
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskFindContainingPartition(
|
DiskFindContainingPartition(
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
||||||
IN PPARTITION_INFORMATION_EX BasePartition,
|
IN PPARTITION_INFORMATION_EX BasePartition,
|
||||||
|
@ -60,72 +64,84 @@ DiskFindContainingPartition(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlCreateDisk(
|
DiskIoctlCreateDisk(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveLayout(
|
DiskIoctlGetDriveLayout(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveLayoutEx(
|
DiskIoctlGetDriveLayoutEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetDriveLayout(
|
DiskIoctlSetDriveLayout(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetDriveLayoutEx(
|
DiskIoctlSetDriveLayoutEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetPartitionInfo(
|
DiskIoctlGetPartitionInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetPartitionInfoEx(
|
DiskIoctlGetPartitionInfoEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetLengthInfo(
|
DiskIoctlGetLengthInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetPartitionInfo(
|
DiskIoctlSetPartitionInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetPartitionInfoEx(
|
DiskIoctlSetPartitionInfoEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetPartitionInfoEx(
|
DiskIoctlSetPartitionInfoEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveGeometryEx(
|
DiskIoctlGetDriveGeometryEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
|
@ -171,7 +187,6 @@ const GUID GUID_NULL = { 0 };
|
||||||
#define DiskCompareGuid(_First,_Second) \
|
#define DiskCompareGuid(_First,_Second) \
|
||||||
(memcmp ((_First),(_Second), sizeof (GUID)))
|
(memcmp ((_First),(_Second), sizeof (GUID)))
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
DriverEntry(
|
DriverEntry(
|
||||||
|
@ -342,8 +357,8 @@ Return Value:
|
||||||
|
|
||||||
} // end DriverEntry()
|
} // end DriverEntry()
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUnload(
|
DiskUnload(
|
||||||
IN PDRIVER_OBJECT DriverObject
|
IN PDRIVER_OBJECT DriverObject
|
||||||
)
|
)
|
||||||
|
@ -356,8 +371,8 @@ DiskUnload(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskCreateFdo(
|
DiskCreateFdo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
IN PDEVICE_OBJECT PhysicalDeviceObject,
|
||||||
|
@ -393,8 +408,8 @@ Return Value:
|
||||||
|
|
||||||
{
|
{
|
||||||
CCHAR ntNameBuffer[MAXIMUM_FILENAME_LENGTH];
|
CCHAR ntNameBuffer[MAXIMUM_FILENAME_LENGTH];
|
||||||
STRING ntNameString;
|
//STRING ntNameString;
|
||||||
UNICODE_STRING ntUnicodeString;
|
//UNICODE_STRING ntUnicodeString;
|
||||||
|
|
||||||
PUCHAR deviceName = NULL;
|
PUCHAR deviceName = NULL;
|
||||||
|
|
||||||
|
@ -407,8 +422,8 @@ Return Value:
|
||||||
PDEVICE_OBJECT deviceObject = NULL;
|
PDEVICE_OBJECT deviceObject = NULL;
|
||||||
|
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
||||||
STORAGE_PROPERTY_ID propertyId;
|
//STORAGE_PROPERTY_ID propertyId;
|
||||||
PSTORAGE_DEVICE_DESCRIPTOR deviceDescriptor;
|
//PSTORAGE_DEVICE_DESCRIPTOR deviceDescriptor;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -628,8 +643,8 @@ DiskCreateFdoExit:
|
||||||
return(status);
|
return(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadWriteVerification(
|
DiskReadWriteVerification(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
|
@ -742,9 +757,8 @@ Return Value:
|
||||||
|
|
||||||
} // end DiskReadWrite()
|
} // end DiskReadWrite()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDetermineMediaTypes(
|
DiskDetermineMediaTypes(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -777,8 +791,8 @@ Return Value:
|
||||||
|
|
||||||
{
|
{
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension = Fdo->DeviceExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension = Fdo->DeviceExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = Fdo->DeviceExtension;
|
//PCOMMON_DEVICE_EXTENSION commonExtension = Fdo->DeviceExtension;
|
||||||
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp);
|
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
|
||||||
PGET_MEDIA_TYPES mediaTypes = Irp->AssociatedIrp.SystemBuffer;
|
PGET_MEDIA_TYPES mediaTypes = Irp->AssociatedIrp.SystemBuffer;
|
||||||
|
@ -1008,8 +1022,8 @@ Return Value:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDeviceControl(
|
DiskDeviceControl(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp
|
PIRP Irp
|
||||||
|
@ -1041,7 +1055,7 @@ Return Value:
|
||||||
|
|
||||||
{
|
{
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension = DeviceObject->DeviceExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension = DeviceObject->DeviceExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp);
|
PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
@ -2772,7 +2786,7 @@ Retry:
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX layoutInfo;
|
PDRIVE_LAYOUT_INFORMATION_EX layoutInfo;
|
||||||
PPARTITION_INFORMATION_EX pdoPartition;
|
PPARTITION_INFORMATION_EX pdoPartition;
|
||||||
PPARTITION_INFORMATION_EX containerPartition;
|
PPARTITION_INFORMATION_EX containerPartition;
|
||||||
ULONG partitionIndex;
|
//ULONG partitionIndex;
|
||||||
|
|
||||||
DebugPrint((2, "IOCTL_DISK_GROW_PARTITION to device %p through "
|
DebugPrint((2, "IOCTL_DISK_GROW_PARTITION to device %p through "
|
||||||
"irp %p\n",
|
"irp %p\n",
|
||||||
|
@ -2940,16 +2954,16 @@ Retry:
|
||||||
sibling = commonExtension->ChildList;
|
sibling = commonExtension->ChildList;
|
||||||
|
|
||||||
while(sibling != NULL) {
|
while(sibling != NULL) {
|
||||||
LARGE_INTEGER sibStoppingOffset;
|
//LARGE_INTEGER sibStoppingOffset;
|
||||||
PCOMMON_DEVICE_EXTENSION siblingExtension;
|
PCOMMON_DEVICE_EXTENSION siblingExtension;
|
||||||
|
|
||||||
siblingExtension = &(sibling->CommonExtension);
|
siblingExtension = &(sibling->CommonExtension);
|
||||||
|
|
||||||
ASSERT( siblingExtension );
|
ASSERT( siblingExtension );
|
||||||
|
|
||||||
sibStoppingOffset.QuadPart =
|
/* sibStoppingOffset.QuadPart =
|
||||||
(siblingExtension->StartingOffset.QuadPart +
|
(siblingExtension->StartingOffset.QuadPart +
|
||||||
siblingExtension->PartitionLength.QuadPart - 1);
|
siblingExtension->PartitionLength.QuadPart - 1); */
|
||||||
|
|
||||||
//
|
//
|
||||||
// Only check the siblings that start beyond the new partition
|
// Only check the siblings that start beyond the new partition
|
||||||
|
@ -3267,8 +3281,8 @@ defaultHandler:
|
||||||
|
|
||||||
} // end DiskDeviceControl()
|
} // end DiskDeviceControl()
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskShutdownFlush (
|
DiskShutdownFlush (
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
|
@ -3457,8 +3471,8 @@ Return Value:
|
||||||
return STATUS_PENDING;
|
return STATUS_PENDING;
|
||||||
} // end DiskShutdown()
|
} // end DiskShutdown()
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskModeSelect(
|
DiskModeSelect(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN PCHAR ModeSelectBuffer,
|
IN PCHAR ModeSelectBuffer,
|
||||||
|
@ -3595,11 +3609,11 @@ Retry:
|
||||||
return status;
|
return status;
|
||||||
} // end DiskModeSelect()
|
} // end DiskModeSelect()
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// This routine is structured as a work-item routine
|
// This routine is structured as a work-item routine
|
||||||
//
|
//
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DisableWriteCache(
|
DisableWriteCache(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN PIO_WORKITEM WorkItem
|
IN PIO_WORKITEM WorkItem
|
||||||
|
@ -3667,11 +3681,11 @@ DisableWriteCache(
|
||||||
IoFreeWorkItem(WorkItem);
|
IoFreeWorkItem(WorkItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// This routine is structured as a work-item routine
|
// This routine is structured as a work-item routine
|
||||||
//
|
//
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskIoctlVerify(
|
DiskIoctlVerify(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN PDISK_VERIFY_WORKITEM_CONTEXT Context
|
IN PDISK_VERIFY_WORKITEM_CONTEXT Context
|
||||||
|
@ -3785,9 +3799,8 @@ DiskIoctlVerify(
|
||||||
ExFreePool(Context);
|
ExFreePool(Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskFdoProcessError(
|
DiskFdoProcessError(
|
||||||
PDEVICE_OBJECT Fdo,
|
PDEVICE_OBJECT Fdo,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
PSCSI_REQUEST_BLOCK Srb,
|
||||||
|
@ -3992,8 +4005,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskSetSpecialHacks(
|
DiskSetSpecialHacks(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN ULONG_PTR Data
|
IN ULONG_PTR Data
|
||||||
|
@ -4095,8 +4108,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskScanRegistryForSpecial(
|
DiskScanRegistryForSpecial(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
|
@ -4145,8 +4158,8 @@ Return Value:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
ResetBus(
|
ResetBus(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -4255,8 +4268,8 @@ Return Value:
|
||||||
|
|
||||||
} // end ResetBus()
|
} // end ResetBus()
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskQueryPnpCapabilities(
|
DiskQueryPnpCapabilities(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PDEVICE_CAPABILITIES Capabilities
|
IN PDEVICE_CAPABILITIES Capabilities
|
||||||
|
@ -4264,7 +4277,7 @@ DiskQueryPnpCapabilities(
|
||||||
|
|
||||||
{
|
{
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
||||||
PDISK_DATA diskData = commonExtension->DriverData;
|
//PDISK_DATA diskData = commonExtension->DriverData;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -4275,8 +4288,7 @@ DiskQueryPnpCapabilities(
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
PPHYSICAL_DEVICE_EXTENSION physicalExtension =
|
//PPHYSICAL_DEVICE_EXTENSION physicalExtension = DeviceObject->DeviceExtension;
|
||||||
DeviceObject->DeviceExtension;
|
|
||||||
|
|
||||||
Capabilities->SilentInstall = 1;
|
Capabilities->SilentInstall = 1;
|
||||||
Capabilities->RawDeviceOK = 1;
|
Capabilities->RawDeviceOK = 1;
|
||||||
|
@ -4298,8 +4310,8 @@ DiskQueryPnpCapabilities(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetCacheInformation(
|
DiskGetCacheInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PDISK_CACHE_INFORMATION CacheInfo
|
IN PDISK_CACHE_INFORMATION CacheInfo
|
||||||
|
@ -4311,7 +4323,7 @@ DiskGetCacheInformation(
|
||||||
|
|
||||||
ULONG length;
|
ULONG length;
|
||||||
|
|
||||||
NTSTATUS status;
|
//NTSTATUS status;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -4416,8 +4428,8 @@ DiskGetCacheInformation(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetCacheInformation(
|
DiskSetCacheInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PDISK_CACHE_INFORMATION CacheInfo
|
IN PDISK_CACHE_INFORMATION CacheInfo
|
||||||
|
@ -4615,8 +4627,8 @@ DiskSetCacheInformation(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskPdoFindPartitionEntry(
|
DiskPdoFindPartitionEntry(
|
||||||
IN PPHYSICAL_DEVICE_EXTENSION Pdo,
|
IN PPHYSICAL_DEVICE_EXTENSION Pdo,
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo
|
||||||
|
@ -4679,8 +4691,8 @@ DiskPdoFindPartitionEntry(
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskFindAdjacentPartition(
|
DiskFindAdjacentPartition(
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
||||||
IN PPARTITION_INFORMATION_EX BasePartition
|
IN PPARTITION_INFORMATION_EX BasePartition
|
||||||
|
@ -4751,8 +4763,8 @@ DiskFindAdjacentPartition(
|
||||||
return adjacentPartition;
|
return adjacentPartition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PPARTITION_INFORMATION_EX
|
PPARTITION_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskFindContainingPartition(
|
DiskFindContainingPartition(
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
IN PDRIVE_LAYOUT_INFORMATION_EX LayoutInfo,
|
||||||
IN PPARTITION_INFORMATION_EX BasePartition,
|
IN PPARTITION_INFORMATION_EX BasePartition,
|
||||||
|
@ -4846,8 +4858,8 @@ DiskFindContainingPartition(
|
||||||
return containerPartition;
|
return containerPartition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetInfoExceptionInformation(
|
DiskGetInfoExceptionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PMODE_INFO_EXCEPTIONS ReturnPageData
|
IN PMODE_INFO_EXCEPTIONS ReturnPageData
|
||||||
|
@ -4938,8 +4950,8 @@ DiskGetInfoExceptionInformation(
|
||||||
return(status);
|
return(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetInfoExceptionInformation(
|
DiskSetInfoExceptionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PMODE_INFO_EXCEPTIONS PageData
|
IN PMODE_INFO_EXCEPTIONS PageData
|
||||||
|
@ -4976,7 +4988,7 @@ DiskSetInfoExceptionInformation(
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
#if defined(_X86_)
|
#if defined(_X86_)
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
DiskQuerySuggestedLinkName(
|
DiskQuerySuggestedLinkName(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
|
@ -5155,8 +5167,8 @@ Return Value:
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlCreateDisk(
|
DiskIoctlCreateDisk(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -5186,7 +5198,7 @@ Return Values:
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
//PDISK_DATA diskData;
|
||||||
PCREATE_DISK createDiskInfo;
|
PCREATE_DISK createDiskInfo;
|
||||||
|
|
||||||
|
|
||||||
|
@ -5203,7 +5215,7 @@ Return Values:
|
||||||
fdoExtension = DeviceObject->DeviceExtension;
|
fdoExtension = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
diskData = (PDISK_DATA)(commonExtension->DriverData);
|
//diskData = (PDISK_DATA)(commonExtension->DriverData);
|
||||||
|
|
||||||
|
|
||||||
ASSERT (commonExtension->IsFdo);
|
ASSERT (commonExtension->IsFdo);
|
||||||
|
@ -5252,9 +5264,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveLayout(
|
DiskIoctlGetDriveLayout(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -5288,11 +5299,11 @@ Return Values:
|
||||||
PDRIVE_LAYOUT_INFORMATION partitionList;
|
PDRIVE_LAYOUT_INFORMATION partitionList;
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX partitionListEx;
|
PDRIVE_LAYOUT_INFORMATION_EX partitionListEx;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension;
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
PDISK_DATA diskData;
|
||||||
BOOLEAN invalidateBusRelations;
|
//BOOLEAN invalidateBusRelations;
|
||||||
|
|
||||||
|
|
||||||
PAGED_CODE ();
|
PAGED_CODE ();
|
||||||
|
@ -5408,9 +5419,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveLayoutEx(
|
DiskIoctlGetDriveLayoutEx(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -5443,7 +5453,7 @@ Return Values:
|
||||||
ULONG size;
|
ULONG size;
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX partitionList;
|
PDRIVE_LAYOUT_INFORMATION_EX partitionList;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension;
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
PDISK_DATA diskData;
|
||||||
|
@ -5460,7 +5470,7 @@ Return Values:
|
||||||
//
|
//
|
||||||
|
|
||||||
fdoExtension = DeviceObject->DeviceExtension;
|
fdoExtension = DeviceObject->DeviceExtension;
|
||||||
pdoExtension = DeviceObject->DeviceExtension;
|
//pdoExtension = DeviceObject->DeviceExtension;
|
||||||
commonExtension = DeviceObject->DeviceExtension;
|
commonExtension = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
@ -5532,8 +5542,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetDriveLayout(
|
DiskIoctlSetDriveLayout(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -5564,11 +5574,11 @@ Return Values:
|
||||||
PDRIVE_LAYOUT_INFORMATION partitionList;
|
PDRIVE_LAYOUT_INFORMATION partitionList;
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX partitionListEx;
|
PDRIVE_LAYOUT_INFORMATION_EX partitionListEx;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension;
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension;
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
PDISK_DATA diskData;
|
||||||
BOOLEAN invalidateBusRelations;
|
//BOOLEAN invalidateBusRelations;
|
||||||
SIZE_T listSize;
|
SIZE_T listSize;
|
||||||
SIZE_T inputBufferLength;
|
SIZE_T inputBufferLength;
|
||||||
SIZE_T outputBufferLength;
|
SIZE_T outputBufferLength;
|
||||||
|
@ -5585,7 +5595,7 @@ Return Values:
|
||||||
partitionListEx = NULL;
|
partitionListEx = NULL;
|
||||||
partitionList = NULL;
|
partitionList = NULL;
|
||||||
fdoExtension = DeviceObject->DeviceExtension;
|
fdoExtension = DeviceObject->DeviceExtension;
|
||||||
pdoExtension = DeviceObject->DeviceExtension;
|
//pdoExtension = DeviceObject->DeviceExtension;
|
||||||
commonExtension = DeviceObject->DeviceExtension;
|
commonExtension = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
@ -5691,9 +5701,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetDriveLayoutEx(
|
DiskIoctlSetDriveLayoutEx(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -5728,7 +5737,7 @@ Return Values:
|
||||||
|
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
PDISK_DATA diskData;
|
||||||
BOOLEAN invalidateBusRelations;
|
//BOOLEAN invalidateBusRelations;
|
||||||
SIZE_T listSize;
|
SIZE_T listSize;
|
||||||
SIZE_T inputBufferLength;
|
SIZE_T inputBufferLength;
|
||||||
SIZE_T outputBufferLength;
|
SIZE_T outputBufferLength;
|
||||||
|
@ -5849,8 +5858,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetPartitionInfo(
|
DiskIoctlGetPartitionInfo(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6002,8 +6011,8 @@ Return Values:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetPartitionInfoEx(
|
DiskIoctlGetPartitionInfoEx(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6126,9 +6135,8 @@ DiskIoctlGetPartitionInfoEx(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetLengthInfo(
|
DiskIoctlGetLengthInfo(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6136,7 +6144,7 @@ DiskIoctlGetLengthInfo(
|
||||||
{
|
{
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
PIO_STACK_LOCATION irpStack;
|
PIO_STACK_LOCATION irpStack;
|
||||||
PDISK_DATA diskData;
|
//PDISK_DATA diskData;
|
||||||
PGET_LENGTH_INFORMATION lengthInfo;
|
PGET_LENGTH_INFORMATION lengthInfo;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION p0Extension;
|
PFUNCTIONAL_DEVICE_EXTENSION p0Extension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension;
|
||||||
|
@ -6156,7 +6164,7 @@ DiskIoctlGetLengthInfo(
|
||||||
|
|
||||||
commonExtension = DeviceObject->DeviceExtension;
|
commonExtension = DeviceObject->DeviceExtension;
|
||||||
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
irpStack = IoGetCurrentIrpStackLocation(Irp);
|
||||||
diskData = (PDISK_DATA)(commonExtension->DriverData);
|
//diskData = (PDISK_DATA)(commonExtension->DriverData);
|
||||||
p0Extension = commonExtension->PartitionZeroExtension;
|
p0Extension = commonExtension->PartitionZeroExtension;
|
||||||
partitionZeroData = ((PDISK_DATA) p0Extension->CommonExtension.DriverData);
|
partitionZeroData = ((PDISK_DATA) p0Extension->CommonExtension.DriverData);
|
||||||
|
|
||||||
|
@ -6221,9 +6229,8 @@ DiskIoctlGetLengthInfo(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetPartitionInfo(
|
DiskIoctlSetPartitionInfo(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6298,8 +6305,8 @@ DiskIoctlSetPartitionInfo(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlSetPartitionInfoEx(
|
DiskIoctlSetPartitionInfoEx(
|
||||||
IN OUT PDEVICE_OBJECT DeviceObject,
|
IN OUT PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6394,9 +6401,8 @@ typedef struct _DISK_GEOMETRY_EX_INTERNAL {
|
||||||
} DISK_GEOMETRY_EX_INTERNAL, *PDISK_GEOMETRY_EX_INTERNAL;
|
} DISK_GEOMETRY_EX_INTERNAL, *PDISK_GEOMETRY_EX_INTERNAL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskIoctlGetDriveGeometryEx(
|
DiskIoctlGetDriveGeometryEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN OUT PIRP Irp
|
IN OUT PIRP Irp
|
||||||
|
@ -6573,4 +6579,3 @@ Return Value:
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ Revision History:
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
VOID
|
VOID
|
||||||
(*PDISK_UPDATE_PARTITIONS) (
|
(NTAPI *PDISK_UPDATE_PARTITIONS) (
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
||||||
);
|
);
|
||||||
|
@ -394,69 +394,80 @@ extern const DISK_MEDIA_TYPES_LIST DiskMediaTypes[];
|
||||||
// Routine prototypes.
|
// Routine prototypes.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DriverEntry(
|
DriverEntry(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PUNICODE_STRING RegistryPath
|
IN PUNICODE_STRING RegistryPath
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUnload(
|
DiskUnload(
|
||||||
IN PDRIVER_OBJECT DriverObject
|
IN PDRIVER_OBJECT DriverObject
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskAddDevice(
|
DiskAddDevice(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PDEVICE_OBJECT Pdo
|
IN PDEVICE_OBJECT Pdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskInitFdo(
|
DiskInitFdo(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskInitPdo(
|
DiskInitPdo(
|
||||||
IN PDEVICE_OBJECT Pdo
|
IN PDEVICE_OBJECT Pdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStartFdo(
|
DiskStartFdo(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStartPdo(
|
DiskStartPdo(
|
||||||
IN PDEVICE_OBJECT Pdo
|
IN PDEVICE_OBJECT Pdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStopDevice(
|
DiskStopDevice(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN UCHAR Type
|
IN UCHAR Type
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskRemoveDevice(
|
DiskRemoveDevice(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN UCHAR Type
|
IN UCHAR Type
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadWriteVerification(
|
DiskReadWriteVerification(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDeviceControl(
|
DiskDeviceControl(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskFdoProcessError(
|
DiskFdoProcessError(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PSCSI_REQUEST_BLOCK Srb,
|
PSCSI_REQUEST_BLOCK Srb,
|
||||||
|
@ -465,36 +476,42 @@ DiskFdoProcessError(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskShutdownFlush(
|
DiskShutdownFlush(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetCacheInformation(
|
DiskGetCacheInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PDISK_CACHE_INFORMATION CacheInfo
|
IN PDISK_CACHE_INFORMATION CacheInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetCacheInformation(
|
DiskSetCacheInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PDISK_CACHE_INFORMATION CacheInfo
|
IN PDISK_CACHE_INFORMATION CacheInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DisableWriteCache(
|
DisableWriteCache(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIO_WORKITEM WorkItem
|
IN PIO_WORKITEM WorkItem
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskIoctlVerify(
|
DiskIoctlVerify(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PDISK_VERIFY_WORKITEM_CONTEXT Context
|
IN PDISK_VERIFY_WORKITEM_CONTEXT Context
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskModeSelect(
|
DiskModeSelect(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PCHAR ModeSelectBuffer,
|
IN PCHAR ModeSelectBuffer,
|
||||||
|
@ -518,6 +535,7 @@ DiskModeSelect(
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPerformSmartCommand(
|
DiskPerformSmartCommand(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN ULONG SrbControlCode,
|
IN ULONG SrbControlCode,
|
||||||
|
@ -530,24 +548,28 @@ DiskPerformSmartCommand(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetInfoExceptionInformation(
|
DiskGetInfoExceptionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
OUT PMODE_INFO_EXCEPTIONS ReturnPageData
|
OUT PMODE_INFO_EXCEPTIONS ReturnPageData
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetInfoExceptionInformation(
|
DiskSetInfoExceptionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN PMODE_INFO_EXCEPTIONS PageData
|
IN PMODE_INFO_EXCEPTIONS PageData
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDetectFailurePrediction(
|
DiskDetectFailurePrediction(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
||||||
);
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
EnumerateBusKey(
|
EnumerateBusKey(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension,
|
||||||
HANDLE BusKey,
|
HANDLE BusKey,
|
||||||
|
@ -555,6 +577,7 @@ EnumerateBusKey(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskCreateFdo(
|
DiskCreateFdo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PDEVICE_OBJECT LowerDeviceObject,
|
IN PDEVICE_OBJECT LowerDeviceObject,
|
||||||
|
@ -563,33 +586,39 @@ DiskCreateFdo(
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
UpdateDeviceObjects(
|
UpdateDeviceObjects(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskSetSpecialHacks(
|
DiskSetSpecialHacks(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN ULONG_PTR Data
|
IN ULONG_PTR Data
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskScanRegistryForSpecial(
|
DiskScanRegistryForSpecial(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
ResetBus(
|
ResetBus(
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnumerateDevice(
|
DiskEnumerateDevice(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskQueryId(
|
DiskQueryId(
|
||||||
IN PDEVICE_OBJECT Pdo,
|
IN PDEVICE_OBJECT Pdo,
|
||||||
IN BUS_QUERY_ID_TYPE IdType,
|
IN BUS_QUERY_ID_TYPE IdType,
|
||||||
|
@ -597,12 +626,14 @@ DiskQueryId(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskQueryPnpCapabilities(
|
DiskQueryPnpCapabilities(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PDEVICE_CAPABILITIES Capabilities
|
IN PDEVICE_CAPABILITIES Capabilities
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGenerateDeviceName(
|
DiskGenerateDeviceName(
|
||||||
IN BOOLEAN IsFdo,
|
IN BOOLEAN IsFdo,
|
||||||
IN ULONG DeviceNumber,
|
IN ULONG DeviceNumber,
|
||||||
|
@ -613,23 +644,27 @@ DiskGenerateDeviceName(
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskCreateSymbolicLinks(
|
DiskCreateSymbolicLinks(
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUpdatePartitions(
|
DiskUpdatePartitions(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUpdateRemovablePartitions(
|
DiskUpdateRemovablePartitions(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskCreatePdo(
|
DiskCreatePdo(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN ULONG PartitionOrdinal,
|
IN ULONG PartitionOrdinal,
|
||||||
|
@ -639,11 +674,13 @@ DiskCreatePdo(
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskDeleteSymbolicLinks(
|
DiskDeleteSymbolicLinks(
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoQueryWmiRegInfo(
|
DiskPdoQueryWmiRegInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -651,6 +688,7 @@ DiskPdoQueryWmiRegInfo(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoQueryWmiDataBlock(
|
DiskPdoQueryWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -660,6 +698,7 @@ DiskPdoQueryWmiDataBlock(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoSetWmiDataBlock(
|
DiskPdoSetWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -669,6 +708,7 @@ DiskPdoSetWmiDataBlock(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoSetWmiDataItem(
|
DiskPdoSetWmiDataItem(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -679,6 +719,7 @@ DiskPdoSetWmiDataItem(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoExecuteWmiMethod(
|
DiskPdoExecuteWmiMethod(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -690,6 +731,7 @@ DiskPdoExecuteWmiMethod(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiRegInfo(
|
DiskFdoQueryWmiRegInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -697,6 +739,7 @@ DiskFdoQueryWmiRegInfo(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiRegInfoEx(
|
DiskFdoQueryWmiRegInfoEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -705,6 +748,7 @@ DiskFdoQueryWmiRegInfoEx(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiDataBlock(
|
DiskFdoQueryWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -714,6 +758,7 @@ DiskFdoQueryWmiDataBlock(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoSetWmiDataBlock(
|
DiskFdoSetWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -723,6 +768,7 @@ DiskFdoSetWmiDataBlock(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoSetWmiDataItem(
|
DiskFdoSetWmiDataItem(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -733,6 +779,7 @@ DiskFdoSetWmiDataItem(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoExecuteWmiMethod(
|
DiskFdoExecuteWmiMethod(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -744,6 +791,7 @@ DiskFdoExecuteWmiMethod(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWmiFunctionControl(
|
DiskWmiFunctionControl(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -753,24 +801,28 @@ DiskWmiFunctionControl(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictStatus(
|
DiskReadFailurePredictStatus(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_STATUS DiskSmartStatus
|
PSTORAGE_FAILURE_PREDICT_STATUS DiskSmartStatus
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictData(
|
DiskReadFailurePredictData(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_DATA DiskSmartData
|
PSTORAGE_FAILURE_PREDICT_DATA DiskSmartData
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnableDisableFailurePrediction(
|
DiskEnableDisableFailurePrediction(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
BOOLEAN Enable
|
BOOLEAN Enable
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnableDisableFailurePredictPolling(
|
DiskEnableDisableFailurePredictPolling(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
BOOLEAN Enable,
|
BOOLEAN Enable,
|
||||||
|
@ -778,16 +830,18 @@ DiskEnableDisableFailurePredictPolling(
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskAcquirePartitioningLock(
|
DiskAcquirePartitioningLock(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskReleasePartitioningLock(
|
DiskReleasePartitioningLock(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS DiskInitializeReregistration(
|
NTSTATUS NTAPI DiskInitializeReregistration(
|
||||||
void
|
void
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -796,6 +850,7 @@ extern GUIDREGINFO DiskWmiPdoGuidList[];
|
||||||
|
|
||||||
#if defined(_X86_)
|
#if defined(_X86_)
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadDriveCapacity(
|
DiskReadDriveCapacity(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
);
|
);
|
||||||
|
@ -815,16 +870,19 @@ DiskQuerySuggestedLinkName(
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveDetectInfo(
|
DiskSaveDetectInfo(
|
||||||
PDRIVER_OBJECT DriverObject
|
PDRIVER_OBJECT DriverObject
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskCleanupDetectInfo(
|
DiskCleanupDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject
|
IN PDRIVER_OBJECT DriverObject
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskDriverReinitialization (
|
DiskDriverReinitialization (
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PVOID Nothing,
|
IN PVOID Nothing,
|
||||||
|
@ -834,22 +892,26 @@ DiskDriverReinitialization (
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskConvertPartitionToExtended(
|
DiskConvertPartitionToExtended(
|
||||||
IN PPARTITION_INFORMATION Partition,
|
IN PPARTITION_INFORMATION Partition,
|
||||||
OUT PPARTITION_INFORMATION_EX PartitionEx
|
OUT PPARTITION_INFORMATION_EX PartitionEx
|
||||||
);
|
);
|
||||||
|
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX
|
PDRIVE_LAYOUT_INFORMATION_EX
|
||||||
|
NTAPI
|
||||||
DiskConvertLayoutToExtended(
|
DiskConvertLayoutToExtended(
|
||||||
IN CONST PDRIVE_LAYOUT_INFORMATION Layout
|
IN CONST PDRIVE_LAYOUT_INFORMATION Layout
|
||||||
);
|
);
|
||||||
|
|
||||||
PDRIVE_LAYOUT_INFORMATION
|
PDRIVE_LAYOUT_INFORMATION
|
||||||
|
NTAPI
|
||||||
DiskConvertExtendedToLayout(
|
DiskConvertExtendedToLayout(
|
||||||
IN CONST PDRIVE_LAYOUT_INFORMATION_EX LayoutEx
|
IN CONST PDRIVE_LAYOUT_INFORMATION_EX LayoutEx
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadPartitionTableEx(
|
DiskReadPartitionTableEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN BypassCache,
|
IN BOOLEAN BypassCache,
|
||||||
|
@ -857,12 +919,14 @@ DiskReadPartitionTableEx(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWritePartitionTableEx(
|
DiskWritePartitionTableEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX DriveLayout
|
IN PDRIVE_LAYOUT_INFORMATION_EX DriveLayout
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetPartitionInformationEx(
|
DiskSetPartitionInformationEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN ULONG PartitionNumber,
|
IN ULONG PartitionNumber,
|
||||||
|
@ -870,6 +934,7 @@ DiskSetPartitionInformationEx(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetPartitionInformation(
|
DiskSetPartitionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN ULONG SectorSize,
|
IN ULONG SectorSize,
|
||||||
|
@ -878,12 +943,14 @@ DiskSetPartitionInformation(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskVerifyPartitionTable(
|
DiskVerifyPartitionTable(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN FixErrors
|
IN BOOLEAN FixErrors
|
||||||
);
|
);
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
DiskInvalidatePartitionTable(
|
DiskInvalidatePartitionTable(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN PartitionLockHeld
|
IN BOOLEAN PartitionLockHeld
|
||||||
|
@ -891,12 +958,14 @@ DiskInvalidatePartitionTable(
|
||||||
|
|
||||||
#if defined (_X86_)
|
#if defined (_X86_)
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetDetectInfo(
|
DiskGetDetectInfo(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
OUT PDISK_DETECTION_INFO DetectInfo
|
OUT PDISK_DETECTION_INFO DetectInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadSignature(
|
DiskReadSignature(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
);
|
);
|
||||||
|
|
|
@ -23,30 +23,35 @@ Revision History:
|
||||||
#include "disk.h"
|
#include "disk.h"
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSendFailurePredictIoctl(
|
DiskSendFailurePredictIoctl(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_PREDICT_FAILURE checkFailure
|
PSTORAGE_PREDICT_FAILURE checkFailure
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetIdentifyInfo(
|
DiskGetIdentifyInfo(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PBOOLEAN SupportSmart
|
PBOOLEAN SupportSmart
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDetectFailurePrediction(
|
DiskDetectFailurePrediction(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictThresholds(
|
DiskReadFailurePredictThresholds(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_THRESHOLDS DiskSmartThresholds
|
PSTORAGE_FAILURE_PREDICT_THRESHOLDS DiskSmartThresholds
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadSmartLog(
|
DiskReadSmartLog(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN UCHAR SectorCount,
|
IN UCHAR SectorCount,
|
||||||
|
@ -55,6 +60,7 @@ DiskReadSmartLog(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWriteSmartLog(
|
DiskWriteSmartLog(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN UCHAR SectorCount,
|
IN UCHAR SectorCount,
|
||||||
|
@ -62,7 +68,7 @@ DiskWriteSmartLog(
|
||||||
IN PUCHAR Buffer
|
IN PUCHAR Buffer
|
||||||
);
|
);
|
||||||
|
|
||||||
void DiskReregWorker(
|
void NTAPI DiskReregWorker(
|
||||||
IN PVOID Context
|
IN PVOID Context
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -382,6 +388,7 @@ DiskExecuteSmartDiagnostics(
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadSmartLog(
|
DiskReadSmartLog(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN UCHAR SectorCount,
|
IN UCHAR SectorCount,
|
||||||
|
@ -433,6 +440,7 @@ DiskReadSmartLog(
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWriteSmartLog(
|
DiskWriteSmartLog(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN UCHAR SectorCount,
|
IN UCHAR SectorCount,
|
||||||
|
@ -477,8 +485,9 @@ DiskWriteSmartLog(
|
||||||
}
|
}
|
||||||
return(status);
|
return(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPerformSmartCommand(
|
DiskPerformSmartCommand(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
IN ULONG SrbControlCode,
|
IN ULONG SrbControlCode,
|
||||||
|
@ -526,8 +535,8 @@ Return Value:
|
||||||
PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
||||||
PUCHAR buffer;
|
PUCHAR buffer;
|
||||||
PSENDCMDINPARAMS cmdInParameters;
|
PSENDCMDINPARAMS cmdInParameters;
|
||||||
PSENDCMDOUTPARAMS cmdOutParameters;
|
//PSENDCMDOUTPARAMS cmdOutParameters;
|
||||||
ULONG outBufferSize;
|
//ULONG outBufferSize;
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
ULONG availableBufferSize;
|
ULONG availableBufferSize;
|
||||||
KEVENT event;
|
KEVENT event;
|
||||||
|
@ -549,7 +558,7 @@ Return Value:
|
||||||
buffer += sizeof(SRB_IO_CONTROL);
|
buffer += sizeof(SRB_IO_CONTROL);
|
||||||
|
|
||||||
cmdInParameters = (PSENDCMDINPARAMS)buffer;
|
cmdInParameters = (PSENDCMDINPARAMS)buffer;
|
||||||
cmdOutParameters = (PSENDCMDOUTPARAMS)buffer;
|
//cmdOutParameters = (PSENDCMDOUTPARAMS)buffer;
|
||||||
|
|
||||||
availableBufferSize = *BufferSize - sizeof(SRB_IO_CONTROL);
|
availableBufferSize = *BufferSize - sizeof(SRB_IO_CONTROL);
|
||||||
|
|
||||||
|
@ -776,8 +785,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetIdentifyInfo(
|
DiskGetIdentifyInfo(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PBOOLEAN SupportSmart
|
PBOOLEAN SupportSmart
|
||||||
|
@ -813,12 +822,12 @@ DiskGetIdentifyInfo(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// FP Ioctl specific routines
|
// FP Ioctl specific routines
|
||||||
//
|
//
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSendFailurePredictIoctl(
|
DiskSendFailurePredictIoctl(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_PREDICT_FAILURE checkFailure
|
PSTORAGE_PREDICT_FAILURE checkFailure
|
||||||
|
@ -865,12 +874,12 @@ DiskSendFailurePredictIoctl(
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// FP type independent routines
|
// FP type independent routines
|
||||||
//
|
//
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnableDisableFailurePrediction(
|
DiskEnableDisableFailurePrediction(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
BOOLEAN Enable
|
BOOLEAN Enable
|
||||||
|
@ -934,6 +943,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnableDisableFailurePredictPolling(
|
DiskEnableDisableFailurePredictPolling(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
BOOLEAN Enable,
|
BOOLEAN Enable,
|
||||||
|
@ -990,8 +1000,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictStatus(
|
DiskReadFailurePredictStatus(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_STATUS DiskSmartStatus
|
PSTORAGE_FAILURE_PREDICT_STATUS DiskSmartStatus
|
||||||
|
@ -1067,6 +1077,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictData(
|
DiskReadFailurePredictData(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_DATA DiskSmartData
|
PSTORAGE_FAILURE_PREDICT_DATA DiskSmartData
|
||||||
|
@ -1158,6 +1169,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadFailurePredictThresholds(
|
DiskReadFailurePredictThresholds(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PSTORAGE_FAILURE_PREDICT_THRESHOLDS DiskSmartThresholds
|
PSTORAGE_FAILURE_PREDICT_THRESHOLDS DiskSmartThresholds
|
||||||
|
@ -1239,7 +1251,7 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiskReregWorker(
|
void NTAPI DiskReregWorker(
|
||||||
IN PVOID Context
|
IN PVOID Context
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -1284,7 +1296,7 @@ void DiskReregWorker(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS DiskInitializeReregistration(
|
NTSTATUS NTAPI DiskInitializeReregistration(
|
||||||
void
|
void
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -1303,7 +1315,7 @@ NTSTATUS DiskInitializeReregistration(
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS DiskPostReregisterRequest(
|
NTSTATUS NTAPI DiskPostReregisterRequest(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp
|
PIRP Irp
|
||||||
)
|
)
|
||||||
|
@ -1344,7 +1356,7 @@ NTSTATUS DiskPostReregisterRequest(
|
||||||
return(status);
|
return(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS DiskInfoExceptionComplete(
|
NTSTATUS NTAPI DiskInfoExceptionComplete(
|
||||||
PDEVICE_OBJECT DeviceObject,
|
PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
PVOID Context
|
PVOID Context
|
||||||
|
@ -1361,7 +1373,7 @@ NTSTATUS DiskInfoExceptionComplete(
|
||||||
ULONG retryInterval;
|
ULONG retryInterval;
|
||||||
ULONG srbStatus;
|
ULONG srbStatus;
|
||||||
BOOLEAN freeLockAndIrp = TRUE;
|
BOOLEAN freeLockAndIrp = TRUE;
|
||||||
KIRQL oldIrql;
|
//KIRQL oldIrql;
|
||||||
|
|
||||||
ASSERT(fdoExtension->CommonExtension.IsFdo);
|
ASSERT(fdoExtension->CommonExtension.IsFdo);
|
||||||
|
|
||||||
|
@ -1545,7 +1557,7 @@ NTSTATUS DiskInfoExceptionComplete(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS DiskInfoExceptionCheck(
|
NTSTATUS NTAPI DiskInfoExceptionCheck(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -1760,6 +1772,7 @@ NTSTATUS DiskInfoExceptionCheck(
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskDetectFailurePrediction(
|
DiskDetectFailurePrediction(
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
PFAILURE_PREDICTION_METHOD FailurePredictCapability
|
||||||
|
@ -1799,7 +1812,7 @@ Return Value:
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
STORAGE_PREDICT_FAILURE checkFailure;
|
STORAGE_PREDICT_FAILURE checkFailure;
|
||||||
STORAGE_FAILURE_PREDICT_STATUS diskSmartStatus;
|
STORAGE_FAILURE_PREDICT_STATUS diskSmartStatus;
|
||||||
BOOLEAN logErr;
|
//BOOLEAN logErr;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -1881,8 +1894,8 @@ Return Value:
|
||||||
return(STATUS_SUCCESS);
|
return(STATUS_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWmiFunctionControl(
|
DiskWmiFunctionControl(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -1931,10 +1944,10 @@ Return Value:
|
||||||
--*/
|
--*/
|
||||||
{
|
{
|
||||||
NTSTATUS status = STATUS_SUCCESS;
|
NTSTATUS status = STATUS_SUCCESS;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
//PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
||||||
PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
//PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
||||||
ULONG enableCount;
|
//ULONG enableCount;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -1994,9 +2007,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiRegInfo(
|
DiskFdoQueryWmiRegInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -2036,10 +2048,10 @@ Return Value:
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
{
|
{
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
//PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = DeviceObject->DeviceExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension = DeviceObject->DeviceExtension;
|
||||||
PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
PDISK_DATA diskData = (PDISK_DATA)(commonExtension->DriverData);
|
||||||
NTSTATUS status;
|
//NTSTATUS status;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
|
@ -2094,6 +2106,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiRegInfoEx(
|
DiskFdoQueryWmiRegInfoEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -2150,8 +2163,8 @@ Return Value:
|
||||||
return(status);
|
return(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoQueryWmiDataBlock(
|
DiskFdoQueryWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -2383,6 +2396,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoSetWmiDataBlock(
|
DiskFdoSetWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -2487,6 +2501,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoSetWmiDataItem(
|
DiskFdoSetWmiDataItem(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -2554,8 +2569,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskFdoExecuteWmiMethod(
|
DiskFdoExecuteWmiMethod(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -3018,11 +3033,11 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
//
|
//
|
||||||
// Enable this to add WMI support for PDOs
|
// Enable this to add WMI support for PDOs
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoQueryWmiRegInfo(
|
DiskPdoQueryWmiRegInfo(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
OUT ULONG *RegFlags,
|
OUT ULONG *RegFlags,
|
||||||
|
@ -3088,6 +3103,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoQueryWmiDataBlock(
|
DiskPdoQueryWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -3169,6 +3185,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoSetWmiDataBlock(
|
DiskPdoSetWmiDataBlock(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -3248,6 +3265,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoSetWmiDataItem(
|
DiskPdoSetWmiDataItem(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -3328,8 +3346,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskPdoExecuteWmiMethod(
|
DiskPdoExecuteWmiMethod(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
|
@ -3429,6 +3447,3 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@ Revision History:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PDRIVE_LAYOUT_INFORMATION
|
PDRIVE_LAYOUT_INFORMATION
|
||||||
|
NTAPI
|
||||||
DiskConvertExtendedToLayout(
|
DiskConvertExtendedToLayout(
|
||||||
IN CONST PDRIVE_LAYOUT_INFORMATION_EX LayoutEx
|
IN CONST PDRIVE_LAYOUT_INFORMATION_EX LayoutEx
|
||||||
)
|
)
|
||||||
|
@ -97,6 +98,7 @@ DiskConvertExtendedToLayout(
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskConvertPartitionToExtended(
|
DiskConvertPartitionToExtended(
|
||||||
IN PPARTITION_INFORMATION Partition,
|
IN PPARTITION_INFORMATION Partition,
|
||||||
OUT PPARTITION_INFORMATION_EX PartitionEx
|
OUT PPARTITION_INFORMATION_EX PartitionEx
|
||||||
|
@ -140,8 +142,8 @@ Return Values:
|
||||||
PartitionEx->Mbr.HiddenSectors = Partition->HiddenSectors;
|
PartitionEx->Mbr.HiddenSectors = Partition->HiddenSectors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PDRIVE_LAYOUT_INFORMATION_EX
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX
|
NTAPI
|
||||||
DiskConvertLayoutToExtended(
|
DiskConvertLayoutToExtended(
|
||||||
IN CONST PDRIVE_LAYOUT_INFORMATION Layout
|
IN CONST PDRIVE_LAYOUT_INFORMATION Layout
|
||||||
)
|
)
|
||||||
|
@ -163,7 +165,7 @@ Return Values:
|
||||||
be freed by the callee using ExFreePool.
|
be freed by the callee using ExFreePool.
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
|
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
ULONG size;
|
ULONG size;
|
||||||
|
@ -216,9 +218,8 @@ Return Values:
|
||||||
return layoutEx;
|
return layoutEx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskEnumerateDevice(
|
DiskEnumerateDevice(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -249,13 +250,13 @@ Return Value:
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = Fdo->DeviceExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension = Fdo->DeviceExtension;
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
||||||
|
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension = NULL;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension = NULL;
|
||||||
|
|
||||||
PDISK_DATA diskData = (PDISK_DATA) commonExtension->DriverData;
|
PDISK_DATA diskData = (PDISK_DATA) commonExtension->DriverData;
|
||||||
|
|
||||||
PDEVICE_OBJECT pdo = NULL;
|
//PDEVICE_OBJECT pdo = NULL;
|
||||||
|
|
||||||
ULONG numberListElements = 0;
|
//ULONG numberListElements = 0;
|
||||||
|
|
||||||
PDRIVE_LAYOUT_INFORMATION_EX partitionList;
|
PDRIVE_LAYOUT_INFORMATION_EX partitionList;
|
||||||
|
|
||||||
|
@ -358,8 +359,8 @@ Return Value:
|
||||||
|
|
||||||
} // end DiskEnumerateDevice()
|
} // end DiskEnumerateDevice()
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUpdateRemovablePartitions(
|
DiskUpdateRemovablePartitions(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
||||||
|
@ -395,7 +396,7 @@ Return Value:
|
||||||
|
|
||||||
ULONG partitionNumber;
|
ULONG partitionNumber;
|
||||||
ULONG partitionOrdinal = 0;
|
ULONG partitionOrdinal = 0;
|
||||||
ULONG newPartitionNumber;
|
//ULONG newPartitionNumber;
|
||||||
|
|
||||||
PDISK_DATA pdoData;
|
PDISK_DATA pdoData;
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
|
@ -586,8 +587,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskUpdatePartitions(
|
DiskUpdatePartitions(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
IN OUT PDRIVE_LAYOUT_INFORMATION_EX PartitionList
|
||||||
|
@ -828,7 +829,7 @@ Return Value:
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
PDEVICE_OBJECT nextPdo;
|
//PDEVICE_OBJECT nextPdo;
|
||||||
|
|
||||||
DebugPrint ((1, "DiskUpdatePartitions: Deleting %wZ\n",
|
DebugPrint ((1, "DiskUpdatePartitions: Deleting %wZ\n",
|
||||||
&pdoExtension->CommonExtension.DeviceName));
|
&pdoExtension->CommonExtension.DeviceName));
|
||||||
|
@ -1019,8 +1020,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskCreatePdo(
|
DiskCreatePdo(
|
||||||
IN PDEVICE_OBJECT Fdo,
|
IN PDEVICE_OBJECT Fdo,
|
||||||
IN ULONG PartitionOrdinal,
|
IN ULONG PartitionOrdinal,
|
||||||
|
@ -1208,11 +1209,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskAcquirePartitioningLock(
|
DiskAcquirePartitioningLock(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
|
@ -1231,8 +1229,8 @@ DiskAcquirePartitioningLock(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskReleasePartitioningLock(
|
DiskReleasePartitioningLock(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,22 +28,26 @@ Revision History:
|
||||||
#if defined (_X86_)
|
#if defined (_X86_)
|
||||||
|
|
||||||
DISK_GEOMETRY_SOURCE
|
DISK_GEOMETRY_SOURCE
|
||||||
|
NTAPI
|
||||||
DiskUpdateGeometry(
|
DiskUpdateGeometry(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskUpdateRemovableGeometry (
|
DiskUpdateRemovableGeometry (
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
);
|
);
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskScanBusDetectInfo(
|
DiskScanBusDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE BusKey
|
IN HANDLE BusKey
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveBusDetectInfo(
|
DiskSaveBusDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE TargetKey,
|
IN HANDLE TargetKey,
|
||||||
|
@ -51,12 +55,14 @@ DiskSaveBusDetectInfo(
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveGeometryDetectInfo(
|
DiskSaveGeometryDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE HardwareKey
|
IN HANDLE HardwareKey
|
||||||
);
|
);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetPortGeometry(
|
DiskGetPortGeometry(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
OUT PDISK_GEOMETRY Geometry
|
OUT PDISK_GEOMETRY Geometry
|
||||||
|
@ -94,8 +100,8 @@ ULONG DetectInfoUsedCount = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveDetectInfo(
|
DiskSaveDetectInfo(
|
||||||
PDRIVER_OBJECT DriverObject
|
PDRIVER_OBJECT DriverObject
|
||||||
)
|
)
|
||||||
|
@ -208,8 +214,8 @@ Return Value:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskCleanupDetectInfo(
|
DiskCleanupDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject
|
IN PDRIVER_OBJECT DriverObject
|
||||||
)
|
)
|
||||||
|
@ -237,8 +243,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveGeometryDetectInfo(
|
DiskSaveGeometryDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE HardwareKey
|
IN HANDLE HardwareKey
|
||||||
|
@ -363,8 +369,8 @@ DiskSaveGeometryDetectInfo(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskScanBusDetectInfo(
|
DiskScanBusDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE BusKey
|
IN HANDLE BusKey
|
||||||
|
@ -520,8 +526,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSaveBusDetectInfo(
|
DiskSaveBusDetectInfo(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN HANDLE TargetKey,
|
IN HANDLE TargetKey,
|
||||||
|
@ -681,8 +687,8 @@ Return Value:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DISK_GEOMETRY_SOURCE
|
DISK_GEOMETRY_SOURCE
|
||||||
|
NTAPI
|
||||||
DiskUpdateGeometry(
|
DiskUpdateGeometry(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
|
@ -769,7 +775,7 @@ Return Value:
|
||||||
ULONG sectorsPerTrack;
|
ULONG sectorsPerTrack;
|
||||||
ULONG tracksPerCylinder;
|
ULONG tracksPerCylinder;
|
||||||
|
|
||||||
ULONG sectors;
|
//ULONG sectors;
|
||||||
ULONG length;
|
ULONG length;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -882,8 +888,8 @@ Return Value:
|
||||||
return diskData->GeometrySource;
|
return diskData->GeometrySource;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskUpdateRemovableGeometry (
|
DiskUpdateRemovableGeometry (
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
|
||||||
)
|
)
|
||||||
|
@ -941,8 +947,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetPortGeometry(
|
DiskGetPortGeometry(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
OUT PDISK_GEOMETRY Geometry
|
OUT PDISK_GEOMETRY Geometry
|
||||||
|
@ -1019,9 +1025,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadDriveCapacity(
|
DiskReadDriveCapacity(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -1049,8 +1054,8 @@ Return Value:
|
||||||
|
|
||||||
{
|
{
|
||||||
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
PFUNCTIONAL_DEVICE_EXTENSION fdoExtension = Fdo->DeviceExtension;
|
||||||
PDISK_DATA diskData = fdoExtension->CommonExtension.DriverData;
|
//PDISK_DATA diskData = fdoExtension->CommonExtension.DriverData;
|
||||||
DISK_GEOMETRY_SOURCE diskGeometrySource = DiskGeometryUnknown;
|
//DISK_GEOMETRY_SOURCE diskGeometrySource = DiskGeometryUnknown;
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
|
|
||||||
ASSERT_FDO(Fdo);
|
ASSERT_FDO(Fdo);
|
||||||
|
@ -1058,7 +1063,7 @@ Return Value:
|
||||||
if (TEST_FLAG(Fdo->Characteristics, FILE_REMOVABLE_MEDIA)) {
|
if (TEST_FLAG(Fdo->Characteristics, FILE_REMOVABLE_MEDIA)) {
|
||||||
DiskUpdateRemovableGeometry(fdoExtension);
|
DiskUpdateRemovableGeometry(fdoExtension);
|
||||||
} else {
|
} else {
|
||||||
diskGeometrySource = DiskUpdateGeometry(fdoExtension);
|
/* diskGeometrySource =*/ DiskUpdateGeometry(fdoExtension);
|
||||||
}
|
}
|
||||||
|
|
||||||
status = ClassReadDriveCapacity(Fdo);
|
status = ClassReadDriveCapacity(Fdo);
|
||||||
|
@ -1066,9 +1071,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskDriverReinitialization(
|
DiskDriverReinitialization(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PVOID Nothing,
|
IN PVOID Nothing,
|
||||||
|
@ -1238,7 +1242,7 @@ Return Value:
|
||||||
ULONG sectorsPerTrack;
|
ULONG sectorsPerTrack;
|
||||||
ULONG tracksPerCylinder;
|
ULONG tracksPerCylinder;
|
||||||
|
|
||||||
ULONG sectors;
|
//ULONG sectors;
|
||||||
ULONG length;
|
ULONG length;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1321,8 +1325,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGetDetectInfo(
|
DiskGetDetectInfo(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
|
||||||
OUT PDISK_DETECTION_INFO DetectInfo
|
OUT PDISK_DETECTION_INFO DetectInfo
|
||||||
|
@ -1408,8 +1412,8 @@ Return Value:
|
||||||
return (found ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
|
return (found ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadSignature(
|
DiskReadSignature(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -1466,5 +1470,3 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(_X86_)
|
#endif // defined(_X86_)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ ULONG DiskDisableGpt = TRUE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskReadPartitionTableEx(
|
DiskReadPartitionTableEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN BypassCache,
|
IN BOOLEAN BypassCache,
|
||||||
|
@ -193,8 +194,8 @@ Return Value:
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskWritePartitionTableEx(
|
DiskWritePartitionTableEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN PDRIVE_LAYOUT_INFORMATION_EX DriveLayout
|
IN PDRIVE_LAYOUT_INFORMATION_EX DriveLayout
|
||||||
|
@ -240,6 +241,7 @@ Return Value:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetPartitionInformationEx(
|
DiskSetPartitionInformationEx(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN ULONG PartitionNumber,
|
IN ULONG PartitionNumber,
|
||||||
|
@ -264,6 +266,7 @@ DiskSetPartitionInformationEx(
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskSetPartitionInformation(
|
DiskSetPartitionInformation(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN ULONG SectorSize,
|
IN ULONG SectorSize,
|
||||||
|
@ -284,6 +287,7 @@ DiskSetPartitionInformation(
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
DiskInvalidatePartitionTable(
|
DiskInvalidatePartitionTable(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN PartitionLockHeld
|
IN BOOLEAN PartitionLockHeld
|
||||||
|
@ -309,6 +313,7 @@ DiskInvalidatePartitionTable(
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskVerifyPartitionTable(
|
DiskVerifyPartitionTable(
|
||||||
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
IN PFUNCTIONAL_DEVICE_EXTENSION Fdo,
|
||||||
IN BOOLEAN FixErrors
|
IN BOOLEAN FixErrors
|
||||||
|
@ -324,4 +329,3 @@ DiskVerifyPartitionTable(
|
||||||
|
|
||||||
return IoVerifyPartitionTable(Fdo->DeviceObject, FixErrors);
|
return IoVerifyPartitionTable(Fdo->DeviceObject, FixErrors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ extern NTSYSAPI ULONG InitSafeBootMode;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskAddDevice(
|
DiskAddDevice(
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
IN PDEVICE_OBJECT PhysicalDeviceObject
|
IN PDEVICE_OBJECT PhysicalDeviceObject
|
||||||
|
@ -185,9 +185,8 @@ Return Value:
|
||||||
|
|
||||||
} // end DiskAddDevice()
|
} // end DiskAddDevice()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskInitFdo(
|
DiskInitFdo(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -214,16 +213,16 @@ Return Value:
|
||||||
|
|
||||||
PDISK_DATA diskData = (PDISK_DATA) fdoExtension->CommonExtension.DriverData;
|
PDISK_DATA diskData = (PDISK_DATA) fdoExtension->CommonExtension.DriverData;
|
||||||
|
|
||||||
ULONG srbFlags = 0;
|
//ULONG srbFlags = 0;
|
||||||
|
|
||||||
ULONG timeOut = 0;
|
ULONG timeOut = 0;
|
||||||
|
|
||||||
ULONG bytesPerSector;
|
ULONG bytesPerSector;
|
||||||
UCHAR sectorShift;
|
//UCHAR sectorShift;
|
||||||
|
|
||||||
BOOLEAN dmActive = FALSE;
|
//BOOLEAN dmActive = FALSE;
|
||||||
PULONG dmSkew;
|
PULONG dmSkew;
|
||||||
ULONG dmByteSkew;
|
//ULONG dmByteSkew;
|
||||||
|
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
|
|
||||||
|
@ -279,7 +278,7 @@ Return Value:
|
||||||
|
|
||||||
DiskScanRegistryForSpecial(fdoExtension);
|
DiskScanRegistryForSpecial(fdoExtension);
|
||||||
|
|
||||||
srbFlags = fdoExtension->SrbFlags;
|
//srbFlags = fdoExtension->SrbFlags;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Clear buffer for drive geometry.
|
// Clear buffer for drive geometry.
|
||||||
|
@ -413,7 +412,7 @@ Return Value:
|
||||||
bytesPerSector = fdoExtension->DiskGeometry.BytesPerSector = 512;
|
bytesPerSector = fdoExtension->DiskGeometry.BytesPerSector = 512;
|
||||||
}
|
}
|
||||||
|
|
||||||
sectorShift = fdoExtension->SectorShift;
|
//sectorShift = fdoExtension->SectorShift;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Determine is DM Driver is loaded on an IDE drive that is
|
// Determine is DM Driver is loaded on an IDE drive that is
|
||||||
|
@ -443,8 +442,8 @@ Return Value:
|
||||||
// blown away.
|
// blown away.
|
||||||
//
|
//
|
||||||
|
|
||||||
dmActive = TRUE;
|
//dmActive = TRUE;
|
||||||
dmByteSkew = fdoExtension->DMByteSkew;
|
//dmByteSkew = fdoExtension->DMByteSkew;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,8 +556,8 @@ Return Value:
|
||||||
|
|
||||||
} // end DiskInitFdo()
|
} // end DiskInitFdo()
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskInitPdo(
|
DiskInitPdo(
|
||||||
IN PDEVICE_OBJECT Pdo
|
IN PDEVICE_OBJECT Pdo
|
||||||
)
|
)
|
||||||
|
@ -615,8 +614,8 @@ Routine Description:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStartPdo(
|
DiskStartPdo(
|
||||||
IN PDEVICE_OBJECT Pdo
|
IN PDEVICE_OBJECT Pdo
|
||||||
)
|
)
|
||||||
|
@ -637,6 +636,7 @@ Routine Description:
|
||||||
}
|
}
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStopDevice(
|
DiskStopDevice(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN UCHAR Type
|
IN UCHAR Type
|
||||||
|
@ -654,8 +654,8 @@ DiskStopDevice(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskQueryId(
|
DiskQueryId(
|
||||||
IN PDEVICE_OBJECT Pdo,
|
IN PDEVICE_OBJECT Pdo,
|
||||||
IN BUS_QUERY_ID_TYPE IdType,
|
IN BUS_QUERY_ID_TYPE IdType,
|
||||||
|
@ -695,7 +695,7 @@ Return Value:
|
||||||
{
|
{
|
||||||
ANSI_STRING ansiIdString;
|
ANSI_STRING ansiIdString;
|
||||||
|
|
||||||
NTSTATUS status;
|
//NTSTATUS status;
|
||||||
|
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
ASSERT_PDO(Pdo);
|
ASSERT_PDO(Pdo);
|
||||||
|
@ -715,7 +715,7 @@ Return Value:
|
||||||
|
|
||||||
if(IdType == BusQueryInstanceID) {
|
if(IdType == BusQueryInstanceID) {
|
||||||
|
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension = Pdo->DeviceExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension = Pdo->DeviceExtension;
|
||||||
PCOMMON_DEVICE_EXTENSION commonExtension = Pdo->DeviceExtension;
|
PCOMMON_DEVICE_EXTENSION commonExtension = Pdo->DeviceExtension;
|
||||||
PDISK_DATA diskData = commonExtension->PartitionZeroExtension->CommonExtension.DriverData;
|
PDISK_DATA diskData = commonExtension->PartitionZeroExtension->CommonExtension.DriverData;
|
||||||
|
|
||||||
|
@ -778,8 +778,8 @@ Return Value:
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskGenerateDeviceName(
|
DiskGenerateDeviceName(
|
||||||
IN BOOLEAN IsFdo,
|
IN BOOLEAN IsFdo,
|
||||||
IN ULONG DeviceNumber,
|
IN ULONG DeviceNumber,
|
||||||
|
@ -859,8 +859,8 @@ Return Value:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskCreateSymbolicLinks(
|
DiskCreateSymbolicLinks(
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
)
|
)
|
||||||
|
@ -983,8 +983,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
NTAPI
|
||||||
DiskDeleteSymbolicLinks(
|
DiskDeleteSymbolicLinks(
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
)
|
)
|
||||||
|
@ -1049,8 +1049,8 @@ Return Value:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskRemoveDevice(
|
DiskRemoveDevice(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN UCHAR Type
|
IN UCHAR Type
|
||||||
|
@ -1132,7 +1132,7 @@ Return Value:
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
PPHYSICAL_DEVICE_EXTENSION pdoExtension = DeviceObject->DeviceExtension;
|
//PPHYSICAL_DEVICE_EXTENSION pdoExtension = DeviceObject->DeviceExtension;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1157,8 +1157,8 @@ Return Value:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
DiskStartFdo(
|
DiskStartFdo(
|
||||||
IN PDEVICE_OBJECT Fdo
|
IN PDEVICE_OBJECT Fdo
|
||||||
)
|
)
|
||||||
|
@ -1400,4 +1400,3 @@ Return Value:
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
|
||||||
} // end DiskStartFdo()
|
} // end DiskStartFdo()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue