Re: DeviceIoControl W2K
From: K. Günther (k.guenther_at_shb-jena.com)
Date: 04/23/04
- Next message: Frank Dzaebel: "RE: gebundene steuerelemente - time wird gefressen?"
- Previous message: Thomas Mueller: "Re: 4 Button in der Titelleiste eines Windows"
- In reply to: Jürgen Beck: "Re: DeviceIoControl W2K"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 23 Apr 2004 14:37:56 +0200
Hallo Jürgen,
ich habe den Fehlercode mit GetLastError abgefragt.
GET_LENGTH_INFORMATION DiskLength; // structure for disk length
Result = DeviceIoControl(hDevice, // device we are querying
IOCTL_DISK_GET_LENGTH_INFO, // operation to perform
NULL, 0, // no input buffer, so pass zero
&DiskLength, sizeof(DiskLength), // output buffer
&junk, // discard count of bytes returned
NULL); // synchronous I/O
C = GetLastError();
Hierbei wird die Variable C mit dem Fehlercode 50 belegt. Wo finde ich eine
passende Fehlercode Tabelle, bzw. was bedeutet 50?
Danke, Klaus.
"Jürgen Beck" <nospam2Newsgroup@Juergen-Beck.de> schrieb im Newsbeitrag
news:O3DeSs3JEHA.2884@TK2MSFTNGP12.phx.gbl...
> K. Günther wrote:
> > ich verwende die Funktion
> > Result = DeviceIoControl(hDevice, // device we are querying
> > IOCTL_DISK_GET_LENGTH_INFO, // operation to perform
> > NULL, 0, // no input buffer, so pass zero
> > &DiskLength, sizeof(DiskLength), // output buffer
> > &junk, // discard count of bytes returned
> > NULL); // synchronous I/O
> >
> > u.a. um die Größe eines entfernbaren Datenträgers zu ermitteln.
> > Unter WinXP klappt das auch wunderbar. Leider erhalte ich unter W2K eine
> > Fehlermeldung als Rückgabewert, so dass ich hier die Größe nicht
> > ermitteln kann.
> >
> > Funktioniert die Funktion nur unter WinXP korrekt?
> > Wenn ja, wie kann ich unter anderen Betriebssystemen die korrekte
> > physikalische Datenträgergröße ermitteln?
>
> Hallo Klaus,
>
> in der Device Input and Output Control Reference des Platform SDK befindet
> sich die Dokumentation dieser Funktion.
> http://msdn.microsoft.com/library/en-us/devio/base/deviceiocontrol.asp
>
> Als "Requirements" werden dort folgende Betriebssysteme aufgelistet:
> Client: Requires Windows XP, Windows 2000 Professional, Windows NT
> Workstation, Windows Me, Windows 98, or Windows 95.
> Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT
> Server.
>
> Insofern sollte es ja wohl eigentlich funktionieren. Vielleicht liegt es
ja
> an etwas anderem? Was sagt denn die GetLastError-Funktion dazu? Dafür
musst
> Du den SetLastError-Parameter des DllImport-Attributes auf true setzen.
>
> Vielleicht hilft Dir ja auch der folgende Thread weiter:
>
http://groups.google.de/groups?threadm=uwXmS1G8CHA.2396%40TK2MSFTNGP10.phx.gbl
>
> Ansonsten findest Du hier auch noch einiges dazu:
> http://groups.google.de/groups?q=group%3A*dotnet*+DeviceIoControl
>
> --
> Jürgen Beck
> MCSD.NET, MCDBA, MCSE, MCT, MVP .NET
> MCP CRM Application/Installation/Customization
> www.Juergen-Beck.de
>
- Next message: Frank Dzaebel: "RE: gebundene steuerelemente - time wird gefressen?"
- Previous message: Thomas Mueller: "Re: 4 Button in der Titelleiste eines Windows"
- In reply to: Jürgen Beck: "Re: DeviceIoControl W2K"
- Messages sorted by: [ date ] [ thread ]