VirtualBox

儲存庫 vbox 的更動 62785


忽略:
時間撮記:
2016-8-1 上午06:56:28 (8 年 以前)
作者:
vboxsync
訊息:

HostServices: warnings

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/HostServices/auth/winlogon/winlogon.cpp

    r62679 r62785  
     1/* $Id$ */
    12/** @file
    2  *
    3  * VirtualBox External Authentication Library:
    4  * Windows Logon Authentication.
     3 * VirtualBox External Authentication Library - Windows Logon Authentication.
    54 */
    65
     
    2120
    2221#include <iprt/win/windows.h>
    23 
    2422#include <VBox/VBoxAuth.h>
     23#include <iprt/cdefs.h>
    2524
    2625#ifdef AUTH_DEBUG
    27 #include <stdio.h>
     26# include <stdio.h>
    2827
    2928static void dprintfw(const WCHAR *fmt, ...)
     
    4039   va_end(va);
    4140}
    42 #define DBGAUTH(a) dprintfw a
     41# define DBGAUTH(a) dprintfw a
    4342#else
    44 #define DBGAUTH(a)
     43# define DBGAUTH(a)
    4544#endif
    4645
    47 static WCHAR swszEmpty[] = { L"" };
     46static WCHAR g_wszEmpty[] = { L"" };
    4847
    4948static void freeWideChar(WCHAR *pwszString)
    5049{
    51     if (pwszString && pwszString != &swszEmpty[0])
     50    if (pwszString && pwszString != &g_wszEmpty[0])
    5251    {
    5352        size_t cb = (wcslen(pwszString) + 1) * sizeof(WCHAR);
     
    6362     */
    6463    if (!pszString || *pszString == 0)
    65         return &swszEmpty[0];
     64        return &g_wszEmpty[0];
    6665
    6766    /*
     
    9897}
    9998
     99/* Prototype it to make sure we've got the right prototype. */
    100100extern "C"
    101101#if defined(_MSC_VER)
    102102__declspec(dllexport)
    103103#endif
    104 AuthResult AUTHCALL AuthEntry (const char *szCaller,
    105                                PAUTHUUID pUuid,
    106                                AuthGuestJudgement guestJudgement,
    107                                const char *szUser,
    108                                const char *szPassword,
    109                                const char *szDomain,
    110                                int fLogon,
    111                                unsigned clientId)
     104FNAUTHENTRY3 AuthEntry;
     105
     106/**
     107 * @callback_method_impl{FNAUTHENTRY3}
     108 */
     109extern "C"
     110AuthResult AUTHCALL AuthEntry(const char *pszCaller,
     111                              PAUTHUUID pUuid,
     112                              AuthGuestJudgement guestJudgement,
     113                              const char *pszUser,
     114                              const char *pszPassword,
     115                              const char *pszDomain,
     116                              int fLogon,
     117                              unsigned clientId)
    112118{
     119    RT_NOREF4(pszCaller, pUuid, guestJudgement, clientId);
    113120    if (!fLogon)
    114121    {
     
    117124    }
    118125
    119     LPWSTR lpwszUsername = utf8ToWideChar(szUser);
    120     LPWSTR lpwszDomain   = utf8ToWideChar(szDomain);
    121     LPWSTR lpwszPassword = utf8ToWideChar(szPassword);
     126    LPWSTR pwszUsername = utf8ToWideChar(pszUser);
     127    LPWSTR pwszDomain   = utf8ToWideChar(pszDomain);
     128    LPWSTR pwszPassword = utf8ToWideChar(pszPassword);
    122129
    123130    DBGAUTH((L"u[%ls], d[%ls], p[%ls]\n", lpwszUsername, lpwszDomain, lpwszPassword));
     
    125132    AuthResult result = AuthResultAccessDenied;
    126133
    127     if (lpwszUsername && lpwszDomain && lpwszPassword)
     134    if (pwszUsername && pwszDomain && pwszPassword)
    128135    {
    129136        /* LOGON32_LOGON_INTERACTIVE is intended for users who will be interactively using the computer,
     
    135142        HANDLE hToken;
    136143
    137         BOOL fSuccess = LogonUserW(lpwszUsername,
    138                                    lpwszDomain,
    139                                    lpwszPassword,
     144        BOOL fSuccess = LogonUserW(pwszUsername,
     145                                   pwszDomain,
     146                                   pwszPassword,
    140147                                   dwLogonType,
    141148                                   dwLogonProvider,
     
    156163    }
    157164
    158     freeWideChar(lpwszUsername);
    159     freeWideChar(lpwszDomain);
    160     freeWideChar(lpwszPassword);
     165    freeWideChar(pwszUsername);
     166    freeWideChar(pwszDomain);
     167    freeWideChar(pwszPassword);
    161168
    162169    return result;
    163170}
    164171
    165 /* Verify the function prototype. */
    166 static PAUTHENTRY3 gpfnAuthEntry = AuthEntry;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette