#include <crossvol.h>
Inherits BazisLib::DDK::BasicStorageVolume.

Public Member Functions | |
| UniversalVolume (IBasicDisk *pDisk, bool bOwnsInterface, char PartitionType=PARTITION_FAT32) | |
| ~UniversalVolume () | |
Protected Member Functions | |
| virtual unsigned | GetSectorSize () override |
| virtual ULONGLONG | GetTotalSize () override |
| virtual char | GetPartitionType () override |
| virtual NTSTATUS | Read (ULONGLONG ByteOffset, PVOID pBuffer, ULONG Length, PULONG pBytesDone) override |
| virtual NTSTATUS | Write (ULONGLONG ByteOffset, PVOID pBuffer, ULONG Length, PULONG pBytesDone) override |
| virtual NTSTATUS | OnGetStableGuid (LPGUID lpGuid) override |
| virtual NTSTATUS | OnDeviceControl (ULONG ControlCode, bool IsInternal, void *pInOutBuffer, ULONG InputLength, ULONG OutputLength, PULONG pBytesDone) override |
| virtual NTSTATUS | OnStartDevice (IN PCM_RESOURCE_LIST AllocatedResources, IN PCM_RESOURCE_LIST AllocatedResourcesTranslated) override |
Private Attributes | |
| IBasicDisk * | m_pDisk |
| bool | m_bDeleteDisk |
| char | m_PartitionType |
| BazisLib::DDK::UniversalVolume::UniversalVolume | ( | IBasicDisk * | pDisk, | |
| bool | bOwnsInterface, | |||
| char | PartitionType = PARTITION_FAT32 | |||
| ) |
| BazisLib::DDK::UniversalVolume::~UniversalVolume | ( | ) |
| virtual char BazisLib::DDK::UniversalVolume::GetPartitionType | ( | ) | [override, protected, virtual] |
Reimplemented from BazisLib::DDK::BasicStorageVolume.
| virtual unsigned BazisLib::DDK::UniversalVolume::GetSectorSize | ( | ) | [override, protected, virtual] |
Reimplemented from BazisLib::DDK::BasicStorageVolume.
| virtual ULONGLONG BazisLib::DDK::UniversalVolume::GetTotalSize | ( | ) | [override, protected, virtual] |
Implements BazisLib::DDK::BasicStorageVolume.
| virtual NTSTATUS BazisLib::DDK::UniversalVolume::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::StorageDevice.
| virtual NTSTATUS BazisLib::DDK::UniversalVolume::OnGetStableGuid | ( | LPGUID | lpGuid | ) | [override, protected, virtual] |
Reimplemented from BazisLib::DDK::StorageDevice.
| virtual NTSTATUS BazisLib::DDK::UniversalVolume::OnStartDevice | ( | IN PCM_RESOURCE_LIST | AllocatedResources, | |
| IN PCM_RESOURCE_LIST | AllocatedResourcesTranslated | |||
| ) | [override, protected, virtual] |
Called when IRP_MN_START_DEVICE is received. Enables the device interface and returns STATUS_SUCCESS. If this method returns an unsuccessful status, the device would not be marked as started.
Consider the following method structure when writing an override: NTSTATUS status = __super::OnStartDevice(...); if (!NT_SUCCESS(status)) return status;
<<< Perform actual initialization >>>
status = ... ; return status;
Reimplemented from BazisLib::DDK::PNPDevice.
| virtual NTSTATUS BazisLib::DDK::UniversalVolume::Read | ( | ULONGLONG | ByteOffset, | |
| PVOID | pBuffer, | |||
| ULONG | Length, | |||
| PULONG | pBytesDone | |||
| ) | [override, protected, virtual] |
Implements BazisLib::DDK::BasicStorageVolume.
| virtual NTSTATUS BazisLib::DDK::UniversalVolume::Write | ( | ULONGLONG | ByteOffset, | |
| PVOID | pBuffer, | |||
| ULONG | Length, | |||
| PULONG | pBytesDone | |||
| ) | [override, protected, virtual] |
Implements BazisLib::DDK::BasicStorageVolume.
bool BazisLib::DDK::UniversalVolume::m_bDeleteDisk [private] |
char BazisLib::DDK::UniversalVolume::m_PartitionType [private] |