I need to write a variable length byte stream to a record from my conduit. I
open or create a database but SyncWriteRec always fails with
SYNCERR_REMOTE_BAD_ARG . This is a piece of code I am using:
BYTE rHandle = 0;
int err;
// first try to open database
err = SyncOpenDB("MyDatabase", 0, rHandle, eDbWrite|eDbRead);
if(err != 0)
{
LogAddEntry("SyncOpenDB failed", slWarning, false);
// create database if it is not found
if(err == SYNCERR_FILE_NOT_FOUND)
{
CDbCreateDB dbInfo;
ZeroMemory(&dbInfo, sizeof(dbInfo));
dbInfo.m_Creator = m_rSyncProperties.m_Creator;
dbInfo.m_Flags = eRecord;
dbInfo.m_CardNo = m_rSyncProperties.m_CardNo;
dbInfo.m_Type = m_rSyncProperties.m_DbType;
::strcpy(dbInfo.m_Name, "MyDatabase");
err = SyncCreateDB(dbInfo);
if(err != 0)
{
LogAddEntry("SyncCreateDB failed", slWarning, false);
return err;
}
}
}
// open a file on local drive withg raw data. All data from the file should
be written to the database record
HANDLE hFile;
hFile = ::CreateFile("C\\MyFileWithRawData.dat",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
DWORD dwError = ::GetLastError();
return 1;
}
// get the file size, allocate the buffer for data and read all data from
the file to the buffer
DWORD dwFileSize = ::GetFileSize(hFile, NULL);
BYTE* buffer = new BYTE[dwFileSize];
DWORD dwBytesRead;
::ReadFile(hFile, buffer, dwFileSize, &dwBytesRead, NULL);
::CloseHandle(hFile);
// prepare the record structure
CRawRecordInfo recordInfo;
ZeroMemory(&recordInfo, sizeof(recordInfo));
recordInfo.m_FileHandle = rHandle;
recordInfo.m_pBytes = buffer;
recordInfo.m_RecSize = dwBytesRead;
err = SyncWriteRec(recordInfo);
// here SyncWriteRec always fails with err == SYNCERR_REMOTE_BAD_ARG
if(err != 0)
{
LogAddEntry("SyncWriteRec failed", slWarning, false);
return err;
}
delete[] buffer;
Any help what's wrong would be greatly appreciated. I am really stuck at
this point.
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/