Frage : Windows CE 5.0 - ReadFile, das gerade mir ersten Buchstaben gibt

Hallo haben Experten,
I ein sehr großes Problem hinsichtlich ReadFile - die Methode (möglicherweise seine ein WriteFile Problem?).
It gerade gibt mir den ersten Buchstaben einer Akte und bricht nachher dass - Wette ist es eine kodierungsausgabe, aber ich bin aus ideas.

I morgens heraus einen ActiveX schreibend, der auf Windows CE 5.0 läuft (! , nicht PocketPC oder Mobile). Er benannt über eine Web site auf dem tragbaren Gerät. Dass Arbeiten fein bis jetzt (eingeführtes IObjectSafety). Mein ActiveX erhielt instanciated und die Methoden, die es anbietet, erhalten benannt.
The ActiveX sollte benutzt werden, um Daten auf dem tragbaren Gerät zu speichern und wieder empfangen werden es, wenn needed.

1. Methode (WriteData) nimmt, da Parameter ein Dateiname und es Inhalt ist (beide BSTR).
The Akte erhielt verursacht und sein Inhalt ist written.

2. Methode (ReadData) hat regelmäßigen Parameter - den Dateinamen - und ein Parameter des Heraus BSTR, der den Inhalt der Akte zurückbringen sollte, die durch Parameter 1.

Interaction zwischen ActiveX und Web site gegeben, ist. Gerade fährt das gelesene Material von der Akte mich geisteskrank. Ich googled für die Tage fast mit 1 1/2. Sobald ich erhielt, verwirrte es ganz laufend, aber es oben.
I morgens nicht in der Notwendigkeit, an der Weise festzuhalten gezeigt durch die zwei Methoden. Wenn jemand eine bessere Weise/eine Idee hat, die ich zu dem: aufgeschlossen bin).

Some Tatsachen über die Einstellung:
- eingebettetes Visual C++ 4.0
- ATL Teil
- Windows CE 5.0
- Internet Explorer 6 mobile

Using .net nicht eine Wahl, weil es keine Weise gibt, die ein Clrbestandteil innerhalb eines beweglichen IE laufen gelassen werden kann:- (.

I versuchte, Kraftstoffregler zu verwenden (C-Datei und Material benutzen), aber ich in der Lage war nicht, IObjectSafety *blushes* einzuführen. Wenn jemand hat, sein ein Arbeitsskelett, dem ich mich versuchen kann, gratefull. Hpoe dieses bilden Sachen easier.

Thank Sie im Voraus.
RZA
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
STDMETHODIMP FileStore:: WriteData (BSTR Dateiname, BSTR Daten)
{
	CComBSTR filePath = store_path;
	filePath.Append (Dateiname);
HANDGRIFF hFile =:: CreateFile (filePath, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
	DWORD dwBytesWritten = 0;
	DWORD dwFileSize;
	TCHAR* pszUnicodeBuff;
	dwFileSize = wcslen (Daten);
	pszUnicodeBuff = (TCHAR*) LocalAlloc (LPTR, (+1) dwFileSize * sizeof (TCHAR));	
	_tcsncpy (pszUnicodeBuff, Daten, dwFileSize);

        :: WriteFile (hFile, pszUnicodeBuff (LPCVOID), (+1) dwFileSize * sizeof (TCHAR), &dwBytesWritten, NULL);
	:: CloseHandle (hFile);
	Rückhol-S_OK;
}


//-------------------------------------------------

STDMETHODIMP FileStore:: ReadData (BSTR Dateiname, BSTR* Daten)
{

	DWORD dwBytesWritten = 0;
	DWORD dwFileSize;    
        CHAR* pszFileBuff = 0;
	TCHAR* pszUnicodeBuff;
	
	CComBSTR filePath = store_path;
	filePath.Append (Dateiname);

        HANDGRIFF hFile = CreateFile (filePath, GENERIC_READ | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

        dwFileSize = GetFileSize (hFile, NULL);
	pszFileBuff = (char*) LocalAlloc (LPTR, dwFileSize);	

        ReadFile (hFile, pszFileBuff (LPVOID), dwFileSize, &dwBytesWritten, NULL);
        pszUnicodeBuff = (TCHAR*) LocalAlloc (LPTR, sizeof (TCHAR) * (+ 1) dwFileSize);
        mbstowcs (pszUnicodeBuff, (const Putzfrau *) pszFileBuff, (size_t) strlen (pszFileBuff));
        CloseHandle (hFile);
        RückholSysReAllocString (Daten, pszUnicodeBuff);	
}

Antwort : Windows CE 5.0 - ReadFile, das gerade mir ersten Buchstaben gibt

gut ist meine blinde Vermutung die: warum benennen Sie mbstowcs ()???? sie behandelt UNICODE Puffer als multibyte und versucht, es in UNICODE umzuwandeln, also ist es keine Überraschung, die Sie 1 einzelnen Buchstaben sehen
Weitere Lösungen  
 
programming4us programming4us