fazer isso:
Dst = &BufferDescriptor;
o "Dst" tá declarado como um ponteiro para "unsigned short int", não pode mudar para:
struct TBufferDescriptor *Dst;
??
outra coisa que vc poderia melhorar é a declaração do TBufferDescriptor, em vez de:
typedef struct TBufferDescriptor{ // definí um tipo
unsigned short Status;
unsigned short ByteCount;
unsigned int Address;
};
seria algo do tipo:
typedef struct TBufferDescriptor{ // definí um tipo
unsigned short Status;
unsigned short ByteCount;
unsigned int Address;
}BufferDescriptor;
daí vc pode tirar o "struct" quando vai declarar uma variável pra essa estrutura, ficarndo assim:
BufferDescriptor variavel; // antes tinha que ser struct TBufferDescriptor variavel...
nos compiladores que uso, eu declaro assim:
typedef struct { // definí um tipo
unsigned short Status;
unsigned short ByteCount;
unsigned int Address;
}TBufferDescriptor;
TBufferDescriptor variavel;