From: Vitaly Lipatov lav@etersoft.ru
--- dlls/advapi32/lsa.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c index b63519c0299..c5b0f72c961 100644 --- a/dlls/advapi32/lsa.c +++ b/dlls/advapi32/lsa.c @@ -62,6 +62,30 @@ static void dumpLsaAttributes(const LSA_OBJECT_ATTRIBUTES *oa) } }
+static LPCSTR string_InformationClass[] = +{ + "(null)", + "PolicyAuditLogInformation", + "PolicyAuditEventsInformation", + "PolicyPrimaryDomainInformation", + "PolicyPdAccountInformation", + "PolicyAccountDomainInformation", + "PolicyLsaServerRoleInformation", + "PolicyReplicaSourceInformation", + "PolicyDefaultQuotaInformation", + "PolicyModificationInformation", + "PolicyAuditFullSetInformation", + "PolicyAuditFullQueryInformation", + "PolicyDnsDomainInformation" +}; + +static LPCSTR debugstr_InformationClass(IN POLICY_INFORMATION_CLASS InformationClass) +{ + if (InformationClass >= sizeof(string_InformationClass)/sizeof(string_InformationClass[0])) + return "(unknown)"; + return string_InformationClass[InformationClass]; +} + static void* ADVAPI_GetDomainName(unsigned sz, unsigned ofs) { HKEY key; @@ -779,7 +803,7 @@ NTSTATUS WINAPI LsaQueryInformationPolicy( IN POLICY_INFORMATION_CLASS InformationClass, OUT PVOID *Buffer) { - TRACE("(%p,0x%08x,%p)\n", PolicyHandle, InformationClass, Buffer); + TRACE("(%p,0x%08x %s,%p)\n", PolicyHandle, InformationClass, debugstr_InformationClass(InformationClass), Buffer);
if(!Buffer) return STATUS_INVALID_PARAMETER; switch (InformationClass)