LONG VmDirStringCompareA( PCSTR pszStr1, PCSTR pszStr2, BOOLEAN bIsCaseSensitive ) { return LwRtlCStringCompare(pszStr1, pszStr2, bIsCaseSensitive); }
NTSTATUS NtRegReadConfigEnum( PLWREG_CONFIG_REG pReg, PCSTR pszName, BOOLEAN bUsePolicy, DWORD dwMin, DWORD dwMax, const PCSTR *ppszEnumNames, PDWORD pdwValue ) { NTSTATUS ntStatus = STATUS_SUCCESS; PSTR pszValue = NULL; DWORD dwEnumIndex = 0; ntStatus = NtRegReadConfigString( pReg, pszName, bUsePolicy, &pszValue, NULL); BAIL_ON_NT_STATUS(ntStatus); if (pszValue != NULL ) { for (dwEnumIndex = 0; dwEnumIndex <= dwMax - dwMin; dwEnumIndex++) { if(LwRtlCStringCompare( pszValue, ppszEnumNames[dwEnumIndex], FALSE) == 0) { *pdwValue = dwEnumIndex + dwMin; break; } } } cleanup: LwRtlCStringFree(&pszValue); return ntStatus; error: goto cleanup; }