Seite 1 von 1

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

Verfasst: Mi, 02. Dez 2015 8:28
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)

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

Verfasst: Mi, 02. Dez 2015 8:35
von Martin Altmann
Moin,
müssten Bit-Shift-Operationen sein. In dem Fall ein "shift left"

Viele Grüße,
Martin

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

Verfasst: Do, 03. Dez 2015 1:55
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> )