Multistring ausgeben von einen Byte Array
-
**Hallo,
ich hoffe mir kann jemand helfen. Folgende Problemstellung:
Ich möchte diese Funktion einer DLL nutzen (kopiert aus MSDN):**
ULONG FbwfGetVolumeList( ULONG currentSession, //[in] Boolean value PVOID volumeList, //[out] Caller allocated buffer receiving the //volume list as a multi-string. PULONG size //[in, out] Size of the buffer pointed to by //volumeList. If this buffer size is too small, //the function will fail and size will contain //the required buffer size. );und zwar möchte ich den Multistring(was ein Dateipfad sein sollte) in der Mitte ausgegeben haben. Dies versuche ich folgendermassen:
ULONG CurrSession = 0; ULONG cbSize = 100; BYTE *ExcludedFiles = new BYTE[100]; ULONG iErr = FbwfGetVolumeList(CurrSession, ExcludedFiles, &cbSize); Folder->Items->Add("123" + *ExcludedFiles + "456");**Allerdings bekomme ich nur eine Zahl wie z.B. 0 oder 92 ausgeben.
Hoffe mir hilft jemand.
MFG Mazzo**
-
Ein Multistring ist nach meinem Verständnis einfach eine Aneinaderreihung von C-Strings hintereinander im Speicher. Wenn du deinen char*-Wert dereferenzierst, bekommst du das erste Zeichen dieses Strings (und da wundert es mich, daß der Ausdruck "123"+*ExcludedFiles+"456" überhaupt durch den Compiler kommt.