Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
adfvolinfo.c
Package: adfview_src.zip [view]
Upload User: hy_wanghao
Upload Date: 2007-01-08
Package Size: 279k
Code Size: 3k
Category:
Shell api
Development Platform:
Visual C++
- // An ADFLib function for Windows which displays a dialogue box containing details about
- // the current disk file.
- // Converted from adfVolumeInfo(), part of ADFLib by Laurent Clevy.
- //
- // Gary Harris
- // 30/8/00
- #include "../ADF_raw.h"
- #include "../ADF_Util.h"
- void adfVolumeInfoWin(HWND hWnd, struct Volume *vol)
- // Windows version of adfVolumeInfo().
- // Input: Receives a handle to the window on which to display the dialogue and a pointer
- // to a ADFLib Volume structure.
- // Output: Nil. Displays a windows dialogue containing the disk file data.
- {
- char szTemp[50], szAdfInfo[500]; // Info string.
- struct bRootBlock root;
- char diskName[35];
- int days,month,year;
- if (adfReadRootBlock(vol, vol->rootBlock, &root)!=RC_OK)
- return;
- memset(diskName, 0, 35);
- memcpy(diskName, root.diskName, root.nameLen);
- sprintf(szAdfInfo, "Name : %-30sn", vol->volName);
- strcat(szAdfInfo, "Type : ");
- switch(vol->dev->devType) {
- case DEVTYPE_FLOPDD:
- strcat(szAdfInfo, "Floppy Double Density : 880 KBytesn");
- break;
- case DEVTYPE_FLOPHD:
- strcat(szAdfInfo, "Floppy High Density : 1760 KBytesn");
- break;
- case DEVTYPE_HARDDISK:
- sprintf(szTemp, "Hard Disk partition : %3.1f KBytesn",
- (vol->lastBlock - vol->firstBlock +1) * 512.0/1024.0);
- strcat(szAdfInfo, szTemp);
- break;
- case DEVTYPE_HARDFILE:
- sprintf(szTemp, "HardFile : %3.1f KBytesn",
- (vol->lastBlock - vol->firstBlock +1) * 512.0/1024.0);
- strcat(szAdfInfo, szTemp);
- break;
- default:
- strcat(szAdfInfo, "Unknown devType!n");
- }
- strcat(szAdfInfo, "Filesystem : ");
- sprintf(szTemp, "%s ",isFFS(vol->dosType) ? "FFS" : "OFS");
- strcat(szAdfInfo, szTemp);
- if (isINTL(vol->dosType))
- strcat(szAdfInfo, "INTL ");
- if (isDIRCACHE(vol->dosType))
- strcat(szAdfInfo, "DIRCACHE ");
- strcat(szAdfInfo, "n");
- sprintf(szTemp, "Free blocks = %ldn", adfCountFreeBlocks(vol));
- strcat(szAdfInfo, szTemp);
- if (vol->readOnly)
- strcat(szAdfInfo, "Read onlyn");
- else
- strcat(szAdfInfo, "Read/Writen");
- /* created */
- adfDays2Date(root.coDays, &year, &month, &days);
- sprintf(szTemp, "created %d/%02d/%02d %ld:%02ld:%02ldn",days,month,year,
- root.coMins/60,root.coMins%60,root.coTicks/50);
- strcat(szAdfInfo, szTemp);
- adfDays2Date(root.days, &year, &month, &days);
- sprintf(szTemp, "last access %d/%02d/%02d %ld:%02ld:%02ld, ",days,month,year,
- root.mins/60,root.mins%60,root.ticks/50);
- strcat(szAdfInfo, szTemp);
- adfDays2Date(root.cDays, &year, &month, &days);
- sprintf(szTemp, "%d/%02d/%02d %ld:%02ld:%02ldn",days,month,year,
- root.cMins/60,root.cMins%60,root.cTicks/50);
- strcat(szAdfInfo, szTemp);
- MessageBox(hWnd, szAdfInfo, "Adf Info", MB_OK);
- }