daneel17fr Rien n'empêche Melba | voici mon code :
Code :
- void Ovostable(machine* pMa, SHORT* sNumBytes, AtMemoryType* eMemType, long* lStartAddr, BYTE* abBuffer)
- {
- //reads from memory
- SAFEARRAY* psa = NULL;
- psa = SafeArrayCreateVector(VT_UI1, 0, *sNumBytes);
- BYTE* pbData;
- HRESULT hr = SafeArrayAccessData(psa, (void HUGEP**)&pbData);
- pMa->ReadMemory(*eMemType, *sNumBytes, *lStartAddr, &psa);
- //code à venir pour transferer les bytes lus dans abBuffer
- }
|
la fonction ReadMemory est décrite dans une dll commerciale, qui fonctionne.
Elle doit lire la mémoire d'un periphérique, et l'écrire dans le SAFEARRAY pointé par psa. Les données sont en théorie accesibles par le pointeur pbData.
Problème, quelquesoit i, pbData[i] vaut zero !
Comme la fonction de la dll n'est pas déféctueuse, je pense que le pb vient de ma méconnaissance en SAFERRAY.
Pourriez vous me renseigner ?
merci d'avance.
DaN |