BazisLib::DDK::UniversalVolume Class Reference

#include <crossvol.h>

Inherits BazisLib::DDK::BasicStorageVolume.

Collaboration diagram for BazisLib::DDK::UniversalVolume:

Collaboration graph
[legend]

List of all members.

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

IBasicDiskm_pDisk
bool m_bDeleteDisk
char m_PartitionType


Constructor & Destructor Documentation

BazisLib::DDK::UniversalVolume::UniversalVolume ( IBasicDisk pDisk,
bool  bOwnsInterface,
char  PartitionType = PARTITION_FAT32 
)

BazisLib::DDK::UniversalVolume::~UniversalVolume (  ) 


Member Function Documentation

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]

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]

virtual NTSTATUS BazisLib::DDK::UniversalVolume::Write ( ULONGLONG  ByteOffset,
PVOID  pBuffer,
ULONG  Length,
PULONG  pBytesDone 
) [override, protected, virtual]


Member Data Documentation


The documentation for this class was generated from the following file:
SourceForge.net Logo