123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #include "./main.h"
- #include "./drive.h"
- #include "./resource.h"
- //#include <primosdk.h>
- #include <strsafe.h>
- static LPCWSTR pszBusType[] =
- {
- L"ATAPI",
- L"SCSI",
- L"1394",
- L"USB",
- L"USB2"
- };
- static LPCWSTR pszType[] =
- {
- L"CD-ROM",
- L"CD-R",
- L"CD-RW",
- L"DVD-ROM",
- L"DVD-R",
- L"DVD-RW",
- L"DVD+R",
- L"DVD+RW",
- L"DVD-RAM",
- L"DDCD-ROM",
- L"DDCD-R",
- L"DDCD-RW",
- L"DL DVD+R",
- L"DL DVD-R",
- L"BD-RW",
- L"BD-R",
- L"BD-ROM",
- L"HDDVD-RW",
- L"HDDVD-R",
- L"HDDVD-ROM",
- };
- static wchar_t buffer[64];
- LPCWSTR Drive_GetBusTypeString(DWORD nBusType)
- {
- int index = -1;
- #if 0
- switch (nBusType)
- {
- case PRIMOSDK_ATAPI: index = 0; break;
- case PRIMOSDK_SCSI: index = 1; break;
- case PRIMOSDK_1394: index = 2; break;
- case PRIMOSDK_USB: index = 3; break;
- case PRIMOSDK_USB2: index = 4; break;
- }
- #endif
- return (-1 != index) ? pszBusType[index] :
- WASABI_API_LNGSTRINGW_BUF(IDS_UNKNOWN, buffer, sizeof(buffer)/sizeof(wchar_t));
- }
- LPCWSTR Drive_GetTypeString(DWORD nType)
- {
- int index = -1;
- #if 0
- switch (nType)
- {
- case PRIMOSDK_CDROM: index = 0; break;
- case PRIMOSDK_CDR: index = 1; break;
- case PRIMOSDK_CDRW: index = 2; break;
- case PRIMOSDK_DVDROM: index = 3; break;
- case PRIMOSDK_DVDR: index = 4; break;
- case PRIMOSDK_DVDRW: index = 5; break;
- case PRIMOSDK_DVDPR: index = 6; break;
- case PRIMOSDK_DVDPRW: index = 7; break;
- case PRIMOSDK_DVDRAM: index = 8; break;
- case PRIMOSDK_DDCDROM: index = 9; break;
- case PRIMOSDK_DDCDR: index = 10; break;
- case PRIMOSDK_DDCDRW: index = 11; break;
- case PRIMOSDK_DVDPR9: index = 12; break;
- case PRIMOSDK_DVDR9: index = 13; break;
- case PRIMOSDK_BDRE: index = 14; break;
- case PRIMOSDK_BDR: index = 15; break;
- case PRIMOSDK_BDROM: index = 16; break;
- case PRIMOSDK_HDDVDRW: index = 17; break;
- case PRIMOSDK_HDDVDR: index = 18; break;
- case PRIMOSDK_HDDVDROM: index = 19; break;
- }
- #endif
- return (-1 != index) ? pszType[index] :
- WASABI_API_LNGSTRINGW_BUF(IDS_UNKNOWN, buffer, sizeof(buffer)/sizeof(wchar_t));
- }
- BOOL Drive_IsRecorderType(DWORD nType)
- {
- #if 0
- switch(nType)
- {
- case PRIMOSDK_CDR:
- case PRIMOSDK_CDRW:
- case PRIMOSDK_DVDR:
- case PRIMOSDK_DVDRW:
- case PRIMOSDK_DVDPR:
- case PRIMOSDK_DVDPRW:
- case PRIMOSDK_DVDRAM:
- case PRIMOSDK_DDCDR:
- case PRIMOSDK_DDCDRW:
- case PRIMOSDK_DVDPR9:
- case PRIMOSDK_DVDR9:
- case PRIMOSDK_BDRE:
- case PRIMOSDK_BDR:
- case PRIMOSDK_HDDVDRW:
- case PRIMOSDK_HDDVDR:
- return TRUE;
- }
- #endif
- return FALSE;
- }
- BOOL Drive_IsRecorder(CHAR cLetter)
- {
- #if 0
- wchar_t info[128] = {0};
- wchar_t name[] = L"cda://X.cda";
- DWORD result;
- BOOL reloaded = FALSE;
- name[6] = cLetter;
- for(;;)
- {
- result = getFileInfoW(name, L"cdinfo", info, sizeof(info)/sizeof(wchar_t));
- if (result || reloaded || !getFileInfoW(name, L"reloadsonic", NULL, 0)) break;
- reloaded = TRUE;
- }
- return (result) ? Drive_IsRecorderType(_wtoi(info)) : FALSE;
- #else
- return FALSE;
- #endif
- }
|