blob: bb83d68360a404d74ce6ce9079711d60ab73e069 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#pragma once
/**
* This class represents an abstraction of a storage content object.
* Driver implementors should replace this with their own
* device I/O classes/libraries.
*/
#define STORAGE_OBJECT_ID L"123ABC"
#define STORAGE_CAPACITY_VALUE 1024 * 1024
#define STORAGE_FREE_SPACE_IN_BYTES_VALUE STORAGE_CAPACITY_VALUE
#define STORAGE_SERIAL_NUMBER_VALUE L"98765432109876-54321098765432"
#define STORAGE_OBJECT_NAME_VALUE L"Internal Memory"
#define STORAGE_FILE_SYSTEM_TYPE_VALUE L"FAT32"
#define STORAGE_DESCRIPTION_VALUE L"Phone Memory Storage System"
#define STORAGE_CONTAINER_FUNCTIONAL_OBJECT_ID WPD_DEVICE_OBJECT_ID
#define STORAGE_TYPE WPD_STORAGE_TYPE_FIXED_ROM
class FakeStorage : public FakeContent
{
public:
FakeStorage()
{
ObjectID = STORAGE_OBJECT_ID;
PersistentUniqueID = STORAGE_OBJECT_ID;
ParentID = WPD_DEVICE_OBJECT_ID;
Name = STORAGE_OBJECT_NAME_VALUE;
ContentType = WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT;
Format = WPD_OBJECT_FORMAT_UNSPECIFIED;
FunctionalCategory = WPD_FUNCTIONAL_CATEGORY_STORAGE;
ContainerFunctionalObjectID = WPD_DEVICE_OBJECT_ID;
ParentPersistentUniqueID = WPD_DEVICE_OBJECT_ID;
Description = STORAGE_DESCRIPTION_VALUE;
Capacity = STORAGE_CAPACITY_VALUE;
FreeSpace = STORAGE_CAPACITY_VALUE;
SerialNumber = STORAGE_SERIAL_NUMBER_VALUE;
FileSystemType = STORAGE_FILE_SYSTEM_TYPE_VALUE;
StorageType = STORAGE_TYPE;
}
FakeStorage(const FakeContent& src)
{
*this = src;
}
virtual ~FakeStorage()
{
}
virtual HRESULT GetSupportedProperties(
_In_ IPortableDeviceKeyCollection* pKeys);
virtual HRESULT GetValue(
_In_ REFPROPERTYKEY Key,
_In_ IPortableDeviceValues* pStore);
virtual HRESULT WriteValue(
_In_ REFPROPERTYKEY Key,
_In_ REFPROPVARIANT Value);
virtual HRESULT GetPropertyAttributes(
_In_ REFPROPERTYKEY Key,
_In_ IPortableDeviceValues* pAttributes);
public:
// Standard WPD properties
CAtlStringW Description;
CAtlStringW SerialNumber;
CAtlStringW FileSystemType;
GUID FunctionalCategory;
ULONGLONG FreeSpace;
ULONGLONG Capacity;
DWORD StorageType;
};
|