Auslesen der Geräte Seriennunmmer

17/09/2007 - 10:59 von Kniffel | Report spam
Hallo zusammen

ich versuche die Seriennummer meines Windows Ce Geràtes auszulesen.
Mein momentaner Code:
#include "stdafx.h"
#include <windows.h>
#include <commctrl.h>
#include <winioctl.h>
#include <tchar.h>
#include <wchar.h>

#define IOCTL_HAL_GET_BSP_VER CTL_CODE(FILE_DEVICE_HAL, 2051,
METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct { DWORD ID; DWORD Maj; DWORD Min; } BSPVER;

extern "C" __declspec(dllimport) BOOL KernelIoControl(
DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD lpBytesReturned
);

int _tmain(int argc, _TCHAR* argv[])
{
BSPVER* pBspVer;
KernelIoControl(IOCTL_HAL_GET_BSP_VER, NULL, 0, &pBspVer, 0,
NULL);

return 0;
}

Soweit funktioniert das Programm, nun möchte ich aber gerne die
Seriennummer als String ablegen, und auch als printf ausgeben. Hab
schon ein paar Versuche unternommen, haben aber nie zum Ziel geführt.
Entweder hàngt sich das Programm auf, weil ich den Wert falsch
ausgebe, oder ich bekomme einfach nicht die Nummer die meiner
Seriennummer entsprechen sollte. Ich arbeite noch nicht solange mit CE
und Unicode, habe deshalb öfters noch Probleme mit den Umwandlungen
und so.
Kann mir jemand sagen ob und wie ich die Seriennummer aus dem struct
BSPVER heraus bekomme?

Gruß
Kniffel
 

Lesen sie die antworten

#1 Kniffel
17/09/2007 - 16:51 | Warnen spam
Hallo nochmals

mein erstes posting hatte garnichts mit der Seriennummer des Geràtes
zu tun, sondern es gibt die Windows CE Image Version aus.
Und zwar so:
BSPVER BspVer;
KernelIoControl(IOCTL_HAL_GET_BSP_VER, NULL, 0, &BspVer, 0, NULL);
printf("Image Version-");
printf("WinCE Image Version %d.%d ", BspVer.Maj, BspVer.Min);

Ähnliche fragen