Gå til innhold

DeviceIoControl og Cdrom IOCTL - C++ til VB


Anbefalte innlegg

Jobber fortiden med et prosjekt for lesing av audio-cder og trenger litt hjelp til "oversetting" fra C++ til VB kode (ntddcdrm.h)

 


#define Max_Number_Tracks 100



typedef struct _Track_Data {

   UCHAR Reserved;

   UCHAR Control : 4;

   UCHAR Adr : 4;

   UCHAR TrackNumber;

   UCHAR Reserved1;

   UCHAR Address[4];

} Track_Data



typedef struct _Cdrom_Toc {

   UCHAR Length[2];

   UCHAR FirstTrack;

   UCHAR LastTrack;

   Track_Data TrackData[Max_Number_Tracks];

} Cdrom_Toc

 

Hvilken datatype skal UCHAR være, og hva betyr UCHAR Adr : 4?

 

Håper på svar.

Lenke til kommentar
Videoannonse
Annonse

Hmm..

 

UCHAR = unsigned Char.

 

Blir det samme som unsigned byte. Tror ikke VB6 håndterer unsigned variable sånn helt uten videre.

 

Det er mulig det fungerer ved å bytte ut UCHAR med Byte. Kommer an på hvor store verdiene som legges inn er.

 

Såfremt du bare bruker strukturene til å lese ut data kan du vel strengt tatt korrigere dem.

 

Er også mulig at det går greit, uansett verdi, men at du må korrigere

for negative tall:

 

Dim intValue As Integer

intValue = ... '//Verdi fra struct

If (intValue < 0) Then intValue = (-intValue + 1)

 

Har ikke testet noe av det her, bare skriver det i farta.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...