blob: 4984607ef455a58e8a043ede36a9f6b125d47e4d (
plain) (
blame)
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
|
#ifndef NULLSOFT_DRIVEINFO_HEADER
#define NULLSOFT_DRIVEINFO_HEADER
#include "../nu/Map.h"
#include ".\discinfo.h"
typedef struct
{
wchar_t letter;
int typeCode;
wchar_t* modelInfo;
int busType;
int *pTypeList; // all supported types
int nTypeList; // number of supported tpyes
DiscInfo *disc; // inserted disc info;
} OPTICAL_DRIVE;
#define MAX_FORMAT_DRIVE_STRING 512
class Drives
{
public:
Drives(void);
~Drives(void);
public:
void AddDrive(wchar_t letter, unsigned int typeCode, wchar_t* description, const wchar_t *extInfo);
void Clear(void);
unsigned int GetCount(void);
const OPTICAL_DRIVE* GetFirst(void);
const OPTICAL_DRIVE* GetNext(void); // if returns NULL - means no more
static BOOL IsRecorder(const OPTICAL_DRIVE *drive);
static const wchar_t* GetTypeString(int typeCode);
static const wchar_t* GetBusString(int busCode);
static const wchar_t* GetFormatedString(const OPTICAL_DRIVE *drv, wchar_t *buffer, size_t size, BOOL useFullName = TRUE);
private:
Map<wchar_t, OPTICAL_DRIVE> driveList;
Map<wchar_t, OPTICAL_DRIVE>::const_iterator c_iter;
};
#endif //NULLSOFT_DRIVEINFO_HEADER
|