static void test_BCryptGetFipsAlgorithmMode(void) { static const WCHAR policyKeyVistaW[] = { 'S','y','s','t','e','m','\\', 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', 'C','o','n','t','r','o','l','\\', 'L','s','a','\\', 'F','I','P','S','A','l','g','o','r','i','t','h','m','P','o','l','i','c','y',0}; static const WCHAR policyValueVistaW[] = {'E','n','a','b','l','e','d',0}; static const WCHAR policyKeyXPW[] = { 'S','y','s','t','e','m','\\', 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', 'C','o','n','t','r','o','l','\\', 'L','s','a',0}; static const WCHAR policyValueXPW[] = { 'F','I','P','S','A','l','g','o','r','i','t','h','m','P','o','l','i','c','y',0}; HKEY hkey = NULL; BOOLEAN expected; BOOLEAN enabled; DWORD value, count[2] = {sizeof(value), sizeof(value)}; NTSTATUS ret; if (RegOpenKeyW(HKEY_LOCAL_MACHINE, policyKeyVistaW, &hkey) == ERROR_SUCCESS && RegQueryValueExW(hkey, policyValueVistaW, NULL, NULL, (void *)&value, &count[0]) == ERROR_SUCCESS) { expected = !!value; } else if (RegOpenKeyW(HKEY_LOCAL_MACHINE, policyKeyXPW, &hkey) == ERROR_SUCCESS && RegQueryValueExW(hkey, policyValueXPW, NULL, NULL, (void *)&value, &count[0]) == ERROR_SUCCESS) { expected = !!value; } else { expected = FALSE; todo_wine ok(0, "Neither XP or Vista key is present\n"); } RegCloseKey(hkey); ret = pBCryptGetFipsAlgorithmMode(&enabled); ok(ret == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%x\n", ret); ok(enabled == expected, "expected result %d, got %d\n", expected, enabled); ret = pBCryptGetFipsAlgorithmMode(NULL); ok(ret == STATUS_INVALID_PARAMETER, "Expected STATUS_INVALID_PARAMETER, got 0x%x\n", ret); }
static void test_BCryptGetFipsAlgorithmMode(void) { NTSTATUS ret; BOOLEAN enabled; if (!pBCryptGetFipsAlgorithmMode) { win_skip("BCryptGetFipsAlgorithmMode is not available\n"); return; } ret = pBCryptGetFipsAlgorithmMode(&enabled); ok(ret == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%x\n", ret); ret = pBCryptGetFipsAlgorithmMode(NULL); ok(ret == STATUS_INVALID_PARAMETER, "Expected STATUS_INVALID_PARAMETER, got 0x%x\n", ret); }