The FesfDs service is an out-of-process COM server. It exports the functions described in this section for use by Client Solutions in FESF Online State (when FESF is installed and running on the system) or in FESF Offline State (as long as the FesfDS Service is accessible via COM).
Type Library: \UM_FESF\UMLIB\FESFDS.TLB
CLSID: FesfDs {8a8b65c6-8862-4856-95f9-9f88b2ec785d}
IID: IFesfDs {8ef95237-cec8-4c30-99c0-db43e61bdea8}
Note: Please use the definitions provided in the type library as the GUIDs are subject to change.
Functions exported by the FesfDs Service can be invoked using standard COM mechanisms. One example of using these mechanisms is illustrated in the following example.
In the Header file:
#import "..\..\UM_FESF\UMLib\FESFDS.tlb" no_namespace raw_interfaces_only
In the executable function:
// Initialize COM
HRESULT hr = ::CoInitialize(0);
if (FAILED(hr))
{
return Error(hr);
}
// get data storage object
CComPtr<IFesfDs> spDS;
HRESULT hr = spDS.CoCreateInstance(__uuidof(FesfDs));
if (FAILED(hr))
{
return Error(hr);
}
// check if file is encrypted
VARIANT_BOOL encrypted;
hr = spDS->IsFileEncrypted(const_cast<GUID *>(&GUID_NULL),
CComBSTR(file),
&encrypted);
if (FAILED(hr))
{
wprintf(L"Failed to determine status\n");
return;
}
if (encrypted == VARIANT_TRUE) {
wprintf(L"File is encrypted\n");
} else {
wprintf(L"File is not encrypted\n");
}