401e65996a34286532f48b685ead23bf82a84109vboxsync/* $Id$ */
401e65996a34286532f48b685ead23bf82a84109vboxsync/** @file
401e65996a34286532f48b685ead23bf82a84109vboxsync * tstCredentialProvider - testcase for credential provider.
401e65996a34286532f48b685ead23bf82a84109vboxsync */
401e65996a34286532f48b685ead23bf82a84109vboxsync
401e65996a34286532f48b685ead23bf82a84109vboxsync/*
401e65996a34286532f48b685ead23bf82a84109vboxsync * Copyright (C) 2010-2014 Oracle Corporation
401e65996a34286532f48b685ead23bf82a84109vboxsync *
401e65996a34286532f48b685ead23bf82a84109vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
401e65996a34286532f48b685ead23bf82a84109vboxsync * available from http://www.virtualbox.org. This file is free software;
401e65996a34286532f48b685ead23bf82a84109vboxsync * you can redistribute it and/or modify it under the terms of the GNU
401e65996a34286532f48b685ead23bf82a84109vboxsync * General Public License (GPL) as published by the Free Software
401e65996a34286532f48b685ead23bf82a84109vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
401e65996a34286532f48b685ead23bf82a84109vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
401e65996a34286532f48b685ead23bf82a84109vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
401e65996a34286532f48b685ead23bf82a84109vboxsync */
401e65996a34286532f48b685ead23bf82a84109vboxsync
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync#include <windows.h>
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync#include <stdio.h>
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync#include <WinCred.h>
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsyncint main(int argc, TCHAR* argv[])
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync{
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync BOOL save = false;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync DWORD authPackage = 0;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync LPVOID authBuffer;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync ULONG authBufferSize = 0;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync CREDUI_INFO credUiInfo;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync credUiInfo.pszCaptionText = TEXT("VBoxCaption");
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync credUiInfo.pszMessageText = TEXT("VBoxMessage");
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync credUiInfo.cbSize = sizeof(credUiInfo);
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync credUiInfo.hbmBanner = NULL;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync credUiInfo.hwndParent = NULL;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync
fd5ba2cc6df7af715b45b9b93c1badef52765c8cvboxsync DWORD dwErr = CredUIPromptForWindowsCredentials(&(credUiInfo), 0, &(authPackage),
fd5ba2cc6df7af715b45b9b93c1badef52765c8cvboxsync NULL, 0, &authBuffer, &authBufferSize, &(save), 0);
fd5ba2cc6df7af715b45b9b93c1badef52765c8cvboxsync printf("Test returned %ld\n", dwErr);
2888816fbcb216a2dbc97a95fa5a50b6caa09e32vboxsync
af8ccbe4597fa769663891ad7491a0984f378288vboxsync return dwErr == ERROR_SUCCESS ? 0 : 1;
194d9fefc8dc265c1acf64cfa73a03a0c929fb5avboxsync}