wintrust: Implement CryptCATAdminResolveCatalogPath and CryptCATCatalogInfoFromContext.
This commit is contained in:
parent
dffccbf1f2
commit
615d023bf1
|
@ -474,6 +474,29 @@ BOOL WINAPI CryptCATAdminRemoveCatalog(HCATADMIN hCatAdmin, LPCWSTR pwszCatalogF
|
||||||
return DeleteFileW(pwszCatalogFile);
|
return DeleteFileW(pwszCatalogFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CryptCATAdminResolveCatalogPath (WINTRUST.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI CryptCATAdminResolveCatalogPath(HCATADMIN hcatadmin, WCHAR *catalog_file,
|
||||||
|
CATALOG_INFO *info, DWORD flags)
|
||||||
|
{
|
||||||
|
static const WCHAR slashW[] = {'\\',0};
|
||||||
|
struct catadmin *ca = hcatadmin;
|
||||||
|
|
||||||
|
TRACE("%p %s %p %x\n", hcatadmin, debugstr_w(catalog_file), info, flags);
|
||||||
|
|
||||||
|
if (!ca || ca->magic != CATADMIN_MAGIC || !info || info->cbStruct != sizeof(*info) || flags)
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_INVALID_PARAMETER);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
strcpyW(info->wszCatalogFile, ca->path);
|
||||||
|
strcatW(info->wszCatalogFile, slashW);
|
||||||
|
strcatW(info->wszCatalogFile, catalog_file);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CryptCATClose (WINTRUST.@)
|
* CryptCATClose (WINTRUST.@)
|
||||||
*/
|
*/
|
||||||
|
@ -682,6 +705,25 @@ out:
|
||||||
return inner;
|
return inner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CryptCATCatalogInfoFromContext (WINTRUST.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI CryptCATCatalogInfoFromContext(HCATINFO hcatinfo, CATALOG_INFO *info, DWORD flags)
|
||||||
|
{
|
||||||
|
struct catinfo *ci = hcatinfo;
|
||||||
|
|
||||||
|
TRACE("%p, %p, %x\n", hcatinfo, info, flags);
|
||||||
|
|
||||||
|
if (!hcatinfo || hcatinfo == INVALID_HANDLE_VALUE || ci->magic != CATINFO_MAGIC ||
|
||||||
|
flags || !info || info->cbStruct != sizeof(*info))
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_INVALID_PARAMETER);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
strcpyW(info->wszCatalogFile, ci->file);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CryptCATOpen (WINTRUST.@)
|
* CryptCATOpen (WINTRUST.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
@ stdcall CryptCATAdminReleaseCatalogContext(long long long)
|
@ stdcall CryptCATAdminReleaseCatalogContext(long long long)
|
||||||
@ stdcall CryptCATAdminReleaseContext(long long)
|
@ stdcall CryptCATAdminReleaseContext(long long)
|
||||||
@ stdcall CryptCATAdminRemoveCatalog(ptr wstr long)
|
@ stdcall CryptCATAdminRemoveCatalog(ptr wstr long)
|
||||||
@ stub CryptCATAdminResolveCatalogPath
|
@ stdcall CryptCATAdminResolveCatalogPath(ptr wstr ptr long)
|
||||||
@ stub CryptCATCDFClose
|
@ stub CryptCATCDFClose
|
||||||
@ stub CryptCATCDFEnumAttributes
|
@ stub CryptCATCDFEnumAttributes
|
||||||
@ stub CryptCATCDFEnumAttributesWithCDFTag
|
@ stub CryptCATCDFEnumAttributesWithCDFTag
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
@ stub CryptCATCDFEnumMembersByCDFTag
|
@ stub CryptCATCDFEnumMembersByCDFTag
|
||||||
@ stub CryptCATCDFEnumMembersByCDFTagEx
|
@ stub CryptCATCDFEnumMembersByCDFTagEx
|
||||||
@ stub CryptCATCDFOpen
|
@ stub CryptCATCDFOpen
|
||||||
@ stub CryptCATCatalogInfoFromContext
|
@ stdcall CryptCATCatalogInfoFromContext(ptr ptr long)
|
||||||
@ stdcall CryptCATClose(long)
|
@ stdcall CryptCATClose(long)
|
||||||
@ stub CryptCATEnumerateAttr
|
@ stub CryptCATEnumerateAttr
|
||||||
@ stub CryptCATEnumerateCatAttr
|
@ stub CryptCATEnumerateCatAttr
|
||||||
|
|
Loading…
Reference in New Issue