I'm using the Windows Cloud Filter API to write a sync provider, but my calls to CfCreatePlaceholders are always failing.
Here's an example of the code I run once my provider is all connected:
CF_PLACEHOLDER_CREATE_INFO cInfo[1] = { 0 };
cInfo[0].RelativeFileName = L"testfile";
cInfo[0].FsMetadata.BasicInfo.FileAttributes = FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY;
cInfo[0].Flags = CF_PLACEHOLDER_CREATE_FLAG_NONE;
...
HRESULT ret = CfCreatePlaceholders(basePath, cInfo, 1, CF_CREATE_FLAG_STOP_ON_ERROR, &EntriesProcessed);
I expect CfCreatePlaceholders to return S_OK, but instead it returns 0x8007017C (ERROR_CLOUD_FILE_INVALID_REQUEST). What am I doing wrong?