Example #1
0
/*************************************************************
 *     InstallPerfDllA (loadperf.@)
 */
DWORD WINAPI InstallPerfDllA(LPCSTR computer, LPCSTR ini, ULONG_PTR flags)
{
    DWORD ret;
    LPWSTR computerW = NULL, iniW = NULL;

    if (computer && !(computerW = strdupAW(computer))) return ERROR_OUTOFMEMORY;
    if (ini && !(iniW = strdupAW(ini)))
    {
        HeapFree(GetProcessHeap(), 0, computerW);
        return ERROR_OUTOFMEMORY;
    }

    ret = InstallPerfDllW(computerW, iniW, flags);

    HeapFree(GetProcessHeap(), 0, computerW);
    HeapFree(GetProcessHeap(), 0, iniW);

    return ret;
}
Example #2
0
BOOL WINAPI LogonUserA( LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword,
                        DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken )
{
    WCHAR *usernameW = NULL, *domainW = NULL, *passwordW = NULL;
    BOOL ret = FALSE;

    TRACE("%s %s %p 0x%08x 0x%08x %p\n", debugstr_a(lpszUsername),
          debugstr_a(lpszDomain), lpszPassword, dwLogonType, dwLogonProvider, phToken);

    if (lpszUsername && !(usernameW = strdupAW( lpszUsername ))) return FALSE;
    if (lpszDomain && !(domainW = strdupAW( lpszUsername ))) goto done;
    if (lpszPassword && !(passwordW = strdupAW( lpszPassword ))) goto done;

    ret = LogonUserW( usernameW, domainW, passwordW, dwLogonType, dwLogonProvider, phToken );

done:
    heap_free( usernameW );
    heap_free( domainW );
    heap_free( passwordW );
    return ret;
}
Example #3
0
/*************************************************************
 *     UnloadPerfCounterTextStringsA (loadperf.@)
 *
 * NOTES
 *   See UnloadPerfCounterTextStringsW
 */
DWORD WINAPI UnloadPerfCounterTextStringsA(LPCSTR cmdline, BOOL quiet)
{
    DWORD ret;
    LPWSTR cmdlineW = NULL;

    if (cmdline && !(cmdlineW = strdupAW(cmdline))) return ERROR_OUTOFMEMORY;

    ret = UnloadPerfCounterTextStringsW(cmdlineW, quiet);

    HeapFree(GetProcessHeap(), 0, cmdlineW);

    return ret;
}
Example #4
0
/*****************************************************
 *    ApplyPatchToFileA (MSPATCHA.1)
 */
BOOL WINAPI ApplyPatchToFileA(LPCSTR patch_file, LPCSTR old_file, LPCSTR new_file, ULONG apply_flags)
{
    BOOL ret;
    WCHAR *patch_fileW, *new_fileW, *old_fileW = NULL;

    if (!(patch_fileW = strdupAW( patch_file ))) return FALSE;
    if (old_file && !(old_fileW = strdupAW( old_file )))
    {
        HeapFree( GetProcessHeap(), 0, patch_fileW );
        return FALSE;
    }
    if (!(new_fileW = strdupAW( new_file )))
    {
        HeapFree( GetProcessHeap(), 0, patch_fileW );
        HeapFree( GetProcessHeap(), 0, old_fileW );
        return FALSE;
    }
    ret = ApplyPatchToFileW( patch_fileW, old_fileW, new_fileW, apply_flags );
    HeapFree( GetProcessHeap(), 0, patch_fileW );
    HeapFree( GetProcessHeap(), 0, old_fileW );
    HeapFree( GetProcessHeap(), 0, new_fileW );
    return ret;
}
Example #5
0
/******************************************************************
 *      InternetInitializeAutoProxyDll (jsproxy.@)
 */
BOOL WINAPI JSPROXY_InternetInitializeAutoProxyDll( DWORD version, LPSTR tmpfile, LPSTR mime,
                                                    AutoProxyHelperFunctions *callbacks,
                                                    LPAUTO_PROXY_SCRIPT_BUFFER buffer )
{
    BOOL ret = FALSE;

    TRACE( "%u, %s, %s, %p, %p\n", version, debugstr_a(tmpfile), debugstr_a(mime), callbacks, buffer );

    if (callbacks) FIXME( "callbacks not supported\n" );

    EnterCriticalSection( &cs_jsproxy );

    if (buffer && buffer->dwStructSize == sizeof(*buffer) && buffer->lpszScriptBuffer)
    {
        DWORD i, len = 0;
        for (i = 0; i < buffer->dwScriptBufferSize; i++)
        {
            if (!buffer->lpszScriptBuffer[i]) break;
            len++;
        }
        if (len == buffer->dwScriptBufferSize)
        {
            SetLastError( ERROR_INVALID_PARAMETER );
            LeaveCriticalSection( &cs_jsproxy );
            return FALSE;
        }
        heap_free( global_script->text );
        if ((global_script->text = strdupAW( buffer->lpszScriptBuffer, len ))) ret = TRUE;
    }
    else
    {
        heap_free( global_script->text );
        if ((global_script->text = load_script( tmpfile ))) ret = TRUE;
    }

    LeaveCriticalSection( &cs_jsproxy );
    return ret;
}
Example #6
0
/******************************************************************
 *      InternetInitializeAutoProxyDll (jsproxy.@)
 */
BOOL WINAPI JSPROXY_InternetInitializeAutoProxyDll( DWORD version, LPSTR tmpfile, LPSTR mime,
                                                    AutoProxyHelperFunctions *callbacks,
                                                    LPAUTO_PROXY_SCRIPT_BUFFER buffer )
{
    BOOL ret = FALSE;

    TRACE( "%u, %s, %s, %p, %p\n", version, debugstr_a(tmpfile), debugstr_a(mime), callbacks, buffer );

    if (callbacks) FIXME( "callbacks not supported\n" );

    EnterCriticalSection( &cs_jsproxy );

    if (global_script->text)
    {
        LeaveCriticalSection( &cs_jsproxy );
        return FALSE;
    }
    if (buffer && buffer->dwStructSize == sizeof(*buffer) && buffer->lpszScriptBuffer &&
        (global_script->text = strdupAW( buffer->lpszScriptBuffer, buffer->dwScriptBufferSize ))) ret = TRUE;
    else if ((global_script->text = load_script( tmpfile ))) ret = TRUE;

    LeaveCriticalSection( &cs_jsproxy );
    return ret;
}