Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Frage zu IOCTL_DISK_GET_DRIVE_LAYOUT_EX

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
28.11.2005, 16:03 Uhr
LowFly



hy ich habe eine Beispielanwendung die zum auslesen der Festplatteninfos
IOCTL_DISK_GET_DRIVE_LAYOUT_EX verwendet.

wenn ich das jetzt in meiner anwendung verwenden will geht das nicht
weil mein compiller motzt das er IOCTL_DISK_GET_DRIVE_LAYOUT_EX & DISK_GET_DRIVE_LAYOUT_EX nicht kennt. ich hab in der msdn auch schon geschaut die sagen zwar das man ne ntdddisk.h includen soll aber wenn ich das mach bekomm ich fehlermeldungen in der ntdddisk.h. ferner hat auch die beispielanwendung nicht die ntdddisk.h eingebunden. auch hab ich schon sämtliche include dateien durch die auch die beispielanwendung verwendet aber es geht nicht,
weis jemand rat?

C++:
void CHDDCtrl::SetQueryPartition(int nPartitionIndex)
{
HANDLE        hDevice;
CString        HardDisk,sError;
DWORD        cbBytesReturned;

HardDisk.Format("\\\\.\\PhysicalDrive%d",nPartitionIndex);

hDevice=CreateFile(HardDisk,0,FILE_SHARE_READ|FILE_SHARE_WRITE,
                        NULL,OPEN_EXISTING,0,NULL);

if (hDevice!=INVALID_HANDLE_VALUE)
{
memset((void*)&m_LayoutInfo, 0, sizeof(m_LayoutInfo));
if(!DeviceIoControl (hDevice,
    IOCTL_DISK_GET_DRIVE_LAYOUT_EX,//
    NULL,
    0,
    &m_LayoutInfo,
    sizeof (DISK_GET_DRIVE_LAYOUT_EX),
    &cbBytesReturned,
    NULL))
{
    sError.Format("IOCTL_DISK_GET_DRIVE_LAYOUT failed, error code: 0x%lX\r\n", GetLastError());
    szMsg.MsgBoxOkStop(sError);
}
}
else
{
    sError.Format("Can not Query Partitions, error code: 0x%lX\r\n", GetLastError());
    szMsg.MsgBoxOkStop(sError);
}
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.11.2005, 16:38 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ntdd* ist das nt driver development kit (Windows DDK) d.h damit kannste nur treiber schreiben, eine normale anwendung hat nicht die notwendigen rechte um auf das festplatten-layout zuzugreifen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.11.2005, 16:49 Uhr
LowFly



doch diese anwendung schon das ist ein stink normaler dialog der in einer combobox einige auswahlmöglichkeiten bezüglich informationen zur hardware bereitstellt.
unteranderem auch infos zur partition und das eben mit IOCTL_DISK_GET_DRIVE_LAYOUT_EX der hat dort nicht fiele include dateien und die er drinn hat hab ich alle schon durch nur leider ohne erfolg

hier das ist der beispieldialog
www.codeproject.com/system/system_information.asp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: