void show_storage_info( CAMHandle hCam, CAMDeviceInfoPtr pDevInfo) { CAMStorageInfoPtr pStorInfo = 0; CAMStorageIDPtr pStorID = 0; int i; do { if (GetStorageIds( hCam, &pStorID)) { camcli_error( "Could not get storage IDs."); break; } if (pStorID->cntStorageIDs == 0) { camcli_error( "No storage IDs returned."); break; } printf ( "\n Storage information %s\n", pDevInfo->Model); printf ( " =================== %s\n", underline(pDevInfo->Model)); for (i = 0; i < pStorID->cntStorageIDs; i++) { if (GetStorageInfo( hCam, pStorID->StorageIDs[i], &pStorInfo)) { camcli_error( "Could not get storage info for id %d", pStorID->StorageIDs[i]); continue; } printf ( " StorageID: 0x%04X\n", pStorID->StorageIDs[i]); printf ( " StorageType: 0x%04X\t%s\n", pStorInfo->StorageType, GetCodeName( pStorInfo->StorageType, CAM_STORAGE)); printf ( " FilesystemType: 0x%04X\t%s\n", pStorInfo->FilesystemType, GetCodeName( pStorInfo->FilesystemType, CAM_FILESYSTEM)); printf ( " AccessCapability: 0x%04X\t%s\n", pStorInfo->AccessCapability, GetCodeName( pStorInfo->AccessCapability, CAM_STORAGE_ACCESS)); printf ( " MaxCapacity: %lld\n", pStorInfo->MaxCapacity); printf ( " FreeSpaceInBytes: %lld\n", pStorInfo->FreeSpaceInBytes); printf ( " FreeSpaceInImages: 0x%04X\n", pStorInfo->FreeSpaceInImages); printf ( " StorageDescription: %s\n", (pStorInfo->StorageDescription ? pStorInfo->StorageDescription : "[none]")); printf ( " VolumeLabel: %s\n\n", (pStorInfo->VolumeLabel ? pStorInfo->VolumeLabel : "[none]")); free( pStorInfo); pStorInfo = 0; } } while (0); if (pStorInfo); free( pStorInfo); if (pStorID) free( pStorID); return; }
DWORD CASC::GetInstalledLocalesMask(StorageHandle const& storage) { return GetStorageInfo(storage, CascStorageInstalledLocales); }
DWORD CASC::GetBuildNumber(StorageHandle const& storage) { return GetStorageInfo(storage, CascStorageGameBuild); }