#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: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

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

Beitrag von AUGE_OHR »

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: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

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

Beitrag von Martin Altmann »

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: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

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

Beitrag von AUGE_OHR »

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