Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

#define CTL_CODE() in ntddstor.h...wie in Xbase++[erledigt]

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10571
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

#define CTL_CODE() in ntddstor.h...wie in Xbase++[erledigt]

Beitrag von AUGE_OHR » Mi, 02. Dez 2015 8:28

hi,

ich habe diese beiden #define wobei das erste wie eine Function ist ... nur was ist mit "<<" in C# gemeint ?

Code: Alles auswählen

#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)
bei der 2nd #define müsste das ganze eine Nummer ergeben

Code: Alles auswählen

#define IOCTL_STORAGE_GET_DEVICE_NUMBER   CTL_CODE(IOCTL_STORAGE_BASE,0x0420,METHOD_BUFFERED,FILE_ANY_ACCESS)
Zuletzt geändert von AUGE_OHR am Do, 03. Dez 2015 1:53, insgesamt 1-mal geändert.
gruss by OHR
Jimmy

Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 13586
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Kontaktdaten:

Re: #define CTL_CODE() in ntddstor.h ... wie in Xbase++ ?

Beitrag von Martin Altmann » Mi, 02. Dez 2015 8:35

Moin,
müssten Bit-Shift-Operationen sein. In dem Fall ein "shift left"

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10571
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: #define CTL_CODE() in ntddstor.h ... wie in Xbase++ ?

Beitrag von AUGE_OHR » Do, 03. Dez 2015 1:55

Martin Altmann hat geschrieben:müssten Bit-Shift-Operationen sein. In dem Fall ein "shift left"
YUP =D>
hier die ot4xb Lösung

Code: Alles auswählen

#xtranslate CTL_CODE( <dt> , <fn> , <mtd> , <acc> ) =>;
 nOr( nLShift(<dt>,16) , nLShift(<acc>,14) , nLShift(<fn>,2) , <mtd> )
gruss by OHR
Jimmy

Antworten