Hallo,
hört sich ganz Gut an, werde es mal prüfen.
Das Original ist in C++ und gerade da bin ich nicht ganz so fit.
Hier mal ein Ausug aus dem Original
Code:
static void GetIdentifyStr(char *s, PWORD InqBuf, unsigned int InqBufSize)
{
PWORD p = InqBuf;
char *p1 = s;
for (unsigned int i = 0; i < InqBufSize; ++i, ++p)
{
// wandelt Big Endian in Little Endian
*p1++ = (char)(*p >> 8);
*p1++ = (char)*p;
}
*p1 = '\0';
// führende Leerzeichen entfernen
while (s[0] == ' ')
memmove(s, s + 1, strlen(s));
unsigned int l = strlen(s);
// abschließende Leerzeichen entfernen
while ((l > 0) && (s[l - 1] == ' '))
s[--l] = '\0';
}
Das Ergebnis der Proc ist der, jenachdem wohin InqBuf zeigt, der Hersteller , die Modelbezeichnung oder
die Seriennummer der Festplatte. Also alles das was auch auf dem Aufkleber steht.
PS. Ob ich nun I prüfe oder nicht, bei der ersten Wertzuweisung trit der Fehler schon auf(siehe jpg -> Auswerten/Ändern Dialog).