+static VOID SeiSetLayerEnvVar(LPCWSTR wszLayer)
+{
+ NTSTATUS Status;
+ UNICODE_STRING VarName = RTL_CONSTANT_STRING(L"__COMPAT_LAYER");
+ UNICODE_STRING Value;
+
+ RtlInitUnicodeString(&Value, wszLayer);
+
+ Status = RtlSetEnvironmentVariable(NULL, &VarName, &Value);
+ if (NT_SUCCESS(Status))
+ SHIMENG_INFO("Set env var %wZ=%wZ\n", &VarName, &Value);
+ else
+ SHIMENG_FAIL("Failed to set %wZ: 0x%x\n", &VarName, Status);
+}
+
+#define MAX_LAYER_LENGTH 256
+
+static VOID SeiBuildShimRefArray(HSDB hsdb, SDBQUERYRESULT* pQuery, PARRAY pShimRef)