我必须在cognos Framework中创建一个自定义的预定义过滤器。 过滤器遵循以下逻辑。
struct KEY_CONTROL_FLAGS_INFO_W7 // KeyFlagsInformation for Win7
{
ULONG ControlFlags[3];
};
#define KEY_CTRL_FL_W7_01__IS_VOLATILE 0x01
#define KEY_CTRL_FL_W7_01__SYM_LINK 0x02
HKEY hKey;
LSTATUS r = RegOpenKeyEx(HKEY_CURRENT_USER,
L"Volatile Environment", REG_OPTION_OPEN_LINK, KEY_READ, &hKey);
if (r == NOERROR)
{
ULONG cb;
KEY_CONTROL_FLAGS_INFO_W7 kcf;
if (0 <= ZwQueryKey(hKey, KeyFlagsInformation, &kcf, sizeof(kcf), &cb))
{
if (kcf.ControlFlags[1] & KEY_CTRL_FL_W7_01__IS_VOLATILE)
{
DbgPrint("key is volatile\n");
}
if (kcf.ControlFlags[1] & KEY_CTRL_FL_W7_01__SYM_LINK)
{
DbgPrint("key is link\n");
}
}
RegCloseKey(hKey);
}
基本上,在数据库中声明San(I_CLM_SAN)已经为Claim状态(C_CLM_STAT)X和R标志更新两次,为此我们必须排除那些重复的san。我不能在框架过滤器中创建这个sql。
请说明,如果有人有更好的解决方案..