#include <storage.h>
Inherits BazisLib::DDK::IODevice.
Inherited by BazisLib::DDK::BasicStorageVolume [protected]
.
Public Member Functions | |
StorageDevice (LPCWSTR pwszDevicePrefix=L"BazisStor", bool bDeleteThisAfterRemoveRequest=false, DEVICE_TYPE DeviceType=FILE_DEVICE_DISK, ULONG DeviceCharacteristics=FILE_DEVICE_SECURE_OPEN, bool bExclusive=FALSE, ULONG AdditionalDeviceFlags=DO_POWER_PAGABLE) | |
~StorageDevice () | |
bool | Valid () |
NTSTATUS | AddDevice (Driver *pDriver, PDEVICE_OBJECT PhysicalDeviceObject, const GUID *pInterfaceGuid, const wchar_t *pwszLinkPath=NULL) |
Protected Member Functions | |
PCUNICODE_STRING | GetFullDeviceName () |
virtual NTSTATUS | OnDeviceControl (ULONG ControlCode, bool IsInternal, void *pInOutBuffer, ULONG InputLength, ULONG OutputLength, PULONG pBytesDone) override |
virtual NTSTATUS | OnQueryDeviceName (PMOUNTDEV_NAME pName, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnQueryUniqueID (PMOUNTDEV_UNIQUE_ID pID, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnVolumeOnline () |
virtual NTSTATUS | OnVolumeOffline () |
virtual NTSTATUS | OnCheckVerify (ULONG OriginalControlCode, ULONG *pChangeCount) |
virtual NTSTATUS | OnGetPartitionInfo (PPARTITION_INFORMATION pInfo, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnGetPartitionInfoEx (PPARTITION_INFORMATION_EX pInfo, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnSetPartitionInfo (PPARTITION_INFORMATION pInfo, ULONG InputLength) |
virtual NTSTATUS | OnSetPartitionInfoEx (PPARTITION_INFORMATION_EX pInfo, ULONG InputLength) |
virtual NTSTATUS | OnDiskIsWritable () |
virtual NTSTATUS | OnGetDriveGeometry (PDISK_GEOMETRY pGeo) |
virtual NTSTATUS | OnGetDriveGeometryEx (PDISK_GEOMETRY_EX pGeo) |
virtual NTSTATUS | OnGetLengthInfo (PGET_LENGTH_INFORMATION pLength) |
virtual NTSTATUS | OnGetDriveLayout (PDRIVE_LAYOUT_INFORMATION pLayout, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnGetDriveLayoutEx (PDRIVE_LAYOUT_INFORMATION_EX pLayout, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnGetHotplugInfo (PSTORAGE_HOTPLUG_INFO pHotplugInfo) |
virtual NTSTATUS | OnMediaRemoval (bool bLock) |
virtual NTSTATUS | OnGetMediaTypes (PDISK_GEOMETRY pGeometryArray, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnDiskVerify (PVERIFY_INFORMATION pVerifyInfo) |
virtual NTSTATUS | OnGetMediaTypesEx (PGET_MEDIA_TYPES pMediaTypes, PDEVICE_MEDIA_INFO pFirstMediaInfo, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnGetDeviceNumber (PSTORAGE_DEVICE_NUMBER pNumber) |
virtual NTSTATUS | OnQueryProperty (PSTORAGE_PROPERTY_QUERY pQueryProperty, PSTORAGE_DESCRIPTOR_HEADER pOutput, ULONG BufferLength, PULONG pBytesDone) |
virtual NTSTATUS | OnGetStableGuid (LPGUID lpGuid) |
virtual NTSTATUS | OnScsiMiniportControl (SRB_IO_CONTROL *pControlBlock) |
Private Attributes | |
string | m_FullDeviceName |
BazisLib::DDK::StorageDevice::StorageDevice | ( | LPCWSTR | pwszDevicePrefix = L"BazisStor" , |
|
bool | bDeleteThisAfterRemoveRequest = false , |
|||
DEVICE_TYPE | DeviceType = FILE_DEVICE_DISK , |
|||
ULONG | DeviceCharacteristics = FILE_DEVICE_SECURE_OPEN , |
|||
bool | bExclusive = FALSE , |
|||
ULONG | AdditionalDeviceFlags = DO_POWER_PAGABLE | |||
) |
BazisLib::DDK::StorageDevice::~StorageDevice | ( | ) |
NTSTATUS BazisLib::DDK::StorageDevice::AddDevice | ( | Driver * | pDriver, | |
PDEVICE_OBJECT | PhysicalDeviceObject, | |||
const GUID * | pInterfaceGuid, | |||
const wchar_t * | pwszLinkPath = NULL | |||
) |
Reimplemented from BazisLib::DDK::PNPDevice.
PCUNICODE_STRING BazisLib::DDK::StorageDevice::GetFullDeviceName | ( | ) | [inline, protected] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnCheckVerify | ( | ULONG | OriginalControlCode, | |
ULONG * | pChangeCount | |||
) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnDeviceControl | ( | ULONG | ControlCode, | |
bool | IsInternal, | |||
void * | pInOutBuffer, | |||
ULONG | InputLength, | |||
ULONG | OutputLength, | |||
PULONG | pBytesDone | |||
) | [override, protected, virtual] |
This method is called when the driver receives an IRP_MJ_DEVICE_CONTROL or IRP_MJ_INTERNAL_DEVICE_CONTROL packet with Transfer Type bits set to METHOD_BUFFERED
Reimplemented from BazisLib::DDK::IODevice.
Reimplemented in BazisLib::DDK::BasicCDVolume, and BazisLib::DDK::UniversalVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnDiskIsWritable | ( | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnDiskVerify | ( | PVERIFY_INFORMATION | pVerifyInfo | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetDeviceNumber | ( | PSTORAGE_DEVICE_NUMBER | pNumber | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetDriveGeometry | ( | PDISK_GEOMETRY | pGeo | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetDriveGeometryEx | ( | PDISK_GEOMETRY_EX | pGeo | ) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetDriveLayout | ( | PDRIVE_LAYOUT_INFORMATION | pLayout, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetDriveLayoutEx | ( | PDRIVE_LAYOUT_INFORMATION_EX | pLayout, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetHotplugInfo | ( | PSTORAGE_HOTPLUG_INFO | pHotplugInfo | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetLengthInfo | ( | PGET_LENGTH_INFORMATION | pLength | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetMediaTypes | ( | PDISK_GEOMETRY | pGeometryArray, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetMediaTypesEx | ( | PGET_MEDIA_TYPES | pMediaTypes, | |
PDEVICE_MEDIA_INFO | pFirstMediaInfo, | |||
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetPartitionInfo | ( | PPARTITION_INFORMATION | pInfo, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetPartitionInfoEx | ( | PPARTITION_INFORMATION_EX | pInfo, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnGetStableGuid | ( | LPGUID | lpGuid | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::UniversalVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnMediaRemoval | ( | bool | bLock | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnQueryDeviceName | ( | PMOUNTDEV_NAME | pName, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnQueryProperty | ( | PSTORAGE_PROPERTY_QUERY | pQueryProperty, | |
PSTORAGE_DESCRIPTOR_HEADER | pOutput, | |||
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnQueryUniqueID | ( | PMOUNTDEV_UNIQUE_ID | pID, | |
ULONG | BufferLength, | |||
PULONG | pBytesDone | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnScsiMiniportControl | ( | SRB_IO_CONTROL * | pControlBlock | ) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnSetPartitionInfo | ( | PPARTITION_INFORMATION | pInfo, | |
ULONG | InputLength | |||
) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnSetPartitionInfoEx | ( | PPARTITION_INFORMATION_EX | pInfo, | |
ULONG | InputLength | |||
) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnVolumeOffline | ( | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
virtual NTSTATUS BazisLib::DDK::StorageDevice::OnVolumeOnline | ( | ) | [protected, virtual] |
Reimplemented in BazisLib::DDK::BasicStorageVolume.
bool BazisLib::DDK::StorageDevice::Valid | ( | ) | [inline] |