Variable størrelse structs og pointers.
Jeg er ved at programmere CAPI (Common ISDN API) og stædig som jeg er vil jeg have det til at lykkedes i C# :)Sprøgmålet er som følger:
Jeg nogle structs et eksemplet kunne være
struct mainstruct {
public int length_of_whole_struct_including_substructs
public byte somevar2
public struct substruct1
public struct substruct2
}
substructs er variable af størrelse da de indeholder for eksempel et indgående eller udgående nummer og er bygget op på denne vis:
struct substruct1 {
byte1 length_of_struct;
byte2 somedata;
byte3 until length_of_struct phonenumber;
}
Hvis der nu var for at sende en række ascii chars indenfor managed code ville en string jo være ideel men!,
for at returnerer dataen til capi-protokollen skal jeg bruge en pointer til mainstruct hvilket kun lader sig gører indenfor
mainstruct structVar;
unsafe {
mainstruct *pointer = &structVar;
*pointer->somvar2 = 123;
etc...
}
problemet er i bund og grund hvordan jeg laver en struct der kan ligge sig byte for byte i rækkefølge i hukommelsen. tage længden på den og addressen.
Jeg kan ikke streame dem ned i CAPI'en da den skal bruge hele blokken med det samme.
Er der en måde at lave en form for en byte array, der kunne stoppes ind i struct bagefter??
Jeg håber en eller andet superbrain kan være mig behjælpelig :)
Med venlig hilsen
Christian