[DllImport("wintrust.dll")]
static extern bool IsCatalogFile(
SafeFileHandle hFile,
[MarshalAs(UnmanagedType.LPWStr)]
String pwszFileName
);
Declare Function IsCatalogFile Lib "wintrust.dll" (TODO) As TODO
None.
Do you know one? Please contribute it!
None.
For .NET versions prior to 2.0, replace SafeFileHandle with IntPtr
using Microsoft.Win32.SafeHandles;
// Sample to check if a file is a catalog by file name
SafeFileHandle invalidHandle = new SafeFileHandle(new IntPtr(-1), true);
if (IsCatalogFile(invalidHandle, "c:\\my_catalog.cat"))
{
MessageBox.Show("This file is a catalog");
}
else
{
MessageBox.Show("This file is NOT a catalog");
}
// Sample to check if a file is a catalog by file handle
using (FileStream fs = new FileStream("c:\\my_catalog.cat", FileMode.Open))
{
if (IsCatalogFile(fs.SafeFileHandle, null))
{
MessageBox.Show("This file is a catalog");
}
else
{
MessageBox.Show("This file is not a catalog");
}
}