I found in MSDN documentation that the CeOidGetInfoEx2 is defined like this:
BOOL CeOidGetInfoEx2( PCEGUID pGuid, CEOID oid, CEOIDINFO* poidInfo );
but
- poidInfo
- [in/out] A pointer to a CEOIDINFOEX (EDB) structure. On successful return, it contains information about the object specified by oid. The caller must set poidInfo->wVersion to the current version of this structure type to CEOIDINFO_VERSION (2).
for this code
CEGUID iceguid;
CEOID CeOid;
CREATE_INVALIDEDBGUID (&iceguid);
hEnumDB =CeFindFirstDatabaseEx (pceguid, 0);
if (hEnumDB == INVALID_HANDLE_VALUE)
{
return;
}
while ((CeOid = CeFindNextDatabaseEx (hEnumDB, pceguid)) != 0)
{
CeObjectInfoEx.wVersion = 2;
BOOL val= CeOidGetInfoEx2 (&iceguid, CeOid, &CeObjectInfoEx);
err= GetLastError() // <- this is always 87 !!!!
}
Best regards

CeOidGetInfoEx2 parameters.
Sriram_sql25k
Hi,
In your code you are using CEOID which has to be replaced by CEOIDEX to get the values using the API CeOidGetInfoEx2.
Keith Bromley
SE-Jung