Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BOOL CSteamDllApi::LoadSteamDll( LPCTSTR pszSteamDir )
- {
- # ifdef LOG_ENABLE
- ON_LOG_FUNCTION( va_string( " ---> LoadSteamDll( %s )\n", pszSteamDir ));
- # endif //ifdef LOG_ENABLE
- CString csTemp;
- BOOL fRC = FALSE;
- // Check if Steam DLL Loaded etc
- if ( m_fSteamDllLoaded )
- {
- // Steam DLL is loaded
- if ( m_csSteamDir.CompareNoCase( pszSteamDir ) == 0 )
- {
- return TRUE;
- }
- // Free the DLL
- UnloadSteamDll();
- if (m_hInstSteam)
- {
- FreeLibrary(m_hInstSteam);
- }
- m_hInstSteam = NULL;
- if ( m_hClientDll )
- {
- FreeLibrary( m_hClientDll );
- }
- m_hClientDll = NULL;
- }
- m_fSteamDllLoaded = FALSE;
- // Load the DLL now
- m_csSteamDir = pszSteamDir;
- csTemp = m_csSteamDir;
- csTemp += "steam.dll";
- m_hInstSteam = LoadLibrary( csTemp );
- // Load the Client DLL now
- m_csSteamDir = pszSteamDir;
- csTemp = m_csSteamDir;
- csTemp += "steamclient.dll";
- //m_hClientDll = LoadLibrary( csTemp );
- m_hClientDll = LoadLibraryEx( csTemp, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
- if ((!m_hInstSteam) || (!m_hClientDll ))
- {
- // Load Library fails
- m_dwError = GetLastError();
- fRC = FALSE;
- }
- else
- {
- // Load Library succeeds
- fRC = TRUE;
- // From UncleD
- pfnSteamGetEncryptionKeyToSendToNewClient = (SteamGetEncryptionKeyToSendToNewClient)GetProcAddress( m_hInstSteam, "SteamGetEncryptionKeyToSendToNewClient" );
- pfnSteamGetEncryptedUserIDTicket = (SteamGetEncryptedUserIDTicket)GetProcAddress( m_hInstSteam, "SteamGetEncryptedUserIDTicket" );
- // Now load the function pointers
- pfnSteamStartEngine = (SteamStartEngine)GetProcAddress( m_hInstSteam, "SteamStartEngine" );
- pfnSteamStartup = (SteamStartup)GetProcAddress( m_hInstSteam, "SteamStartup" );
- pfnSteamLogin = (SteamLogin)GetProcAddress( m_hInstSteam, "SteamLogin" );
- pfnSteamIsLoggedIn = (SteamIsLoggedIn)GetProcAddress( m_hInstSteam, "SteamIsLoggedIn" );
- pfnSteamSetUser = (SteamSetUser)GetProcAddress( m_hInstSteam, "SteamSetUser" );
- pfnSteamGetUser = (SteamGetUser)GetProcAddress( m_hInstSteam, "SteamGetUser" );
- pfnSteamAbortCall = (SteamAbortCall)GetProcAddress( m_hInstSteam, "SteamAbortCall" );
- pfnSteamLogout = (SteamLogout)GetProcAddress( m_hInstSteam, "SteamLogout" );
- pfnSteamCleanup = (SteamCleanup)GetProcAddress( m_hInstSteam, "SteamCleanup" );
- pfnSteamShutdownEngine = (SteamShutdownEngine)GetProcAddress( m_hInstSteam, "SteamShutdownEngine" );
- pfnSteamProcessCall = (SteamProcessCall)GetProcAddress( m_hInstSteam, "SteamProcessCall" );
- // Application
- pfnSteamLaunchApp = (SteamLaunchApp)GetProcAddress( m_hInstSteam, "SteamLaunchApp" );
- pfnSteamGetAppStats = (SteamGetAppStats)GetProcAddress( m_hInstSteam, "SteamGetAppStats" );
- pfnSteamGetAppIds = (SteamGetAppIds)GetProcAddress( m_hInstSteam, "SteamGetAppIds" );
- pfnSteamEnumerateApp = (SteamEnumerateApp)GetProcAddress( m_hInstSteam, "SteamEnumerateApp" );
- pfnSteamIsAppSubscribed = (SteamIsAppSubscribed)GetProcAddress( m_hInstSteam, "SteamIsAppSubscribed" );
- pfnSteamEnumerateAppLaunchOption = (SteamEnumerateAppLaunchOption)GetProcAddress( m_hInstSteam, "SteamEnumerateAppLaunchOption" );
- pfnSteamGetAppDir = (SteamGetAppDir)GetProcAddress( m_hInstSteam, "SteamGetAppDir" );
- pfnSteamGetAppUserDefinedInfo = (SteamGetAppUserDefinedInfo)GetProcAddress( m_hInstSteam, "SteamGetAppUserDefinedInfo" );
- // Subscription hooks
- pfnSteamGetSubscriptionStats = (SteamGetSubscriptionStats)GetProcAddress( m_hInstSteam, "SteamGetSubscriptionStats" );
- pfnSteamGetSubscriptionIds = (SteamGetSubscriptionIds)GetProcAddress( m_hInstSteam, "SteamGetSubscriptionIds" );
- pfnSteamEnumerateSubscription = (SteamEnumerateSubscription)GetProcAddress( m_hInstSteam, "SteamEnumerateSubscription" );
- pfnSteamIsSubscribed = (SteamIsSubscribed)GetProcAddress( m_hInstSteam, "SteamIsSubscribed" );
- // ---> -------------------------- <---
- // ---> Setup Uncle_D's Interfaces <---
- // ---> -------------------------- <---
- //pfnBGetCallback = (BGetCallback *)GetProcAddress( m_hClientDll,"Steam_BGetCallback");
- //pfnFreeLastCallback = (FreeLastCallback *)GetProcAddress( m_hClientDll,"FreeLastCallback");
- //pfnBGetCallback = (BGetCallback)GetProcAddress( m_hClientDll,"Steam_BGetCallback");
- //pfnFreeLastCallback = (FreeLastCallback)GetProcAddress( m_hClientDll,"FreeLastCallback");
- pfnBGetCallback = (BGetCallback)GetProcAddress( m_hClientDll,"Steam_BGetCallback");
- pfnFreeLastCallback = (FreeLastCallback)GetProcAddress( m_hClientDll,"Steam_FreeLastCallback");
- //CreateInterface
- pfnCreateInterface = (CreateInterface) GetProcAddress( m_hClientDll, "CreateInterface" );
- //IClientEngine*
- pSteamClient = pfnCreateInterface(CLIENTENGINE_INTERFACE_VERSION, NULL); //
- g_hUser = pSteamClient->CreateGlobalUser( &g_hPipe );
- //pSteamClient009 = (ISteamClient009 *)pfnCreateInterface("SteamClient009", NULL);
- //pSteamUser005 = (ISteamUser005 *)pSteamClient009->GetISteamUser( g_hUser, g_hPipe, "SteamUser005");
- //IClientUser*
- pClientUser = (IClientUser *)pSteamClient->GetIClientUser( g_hUser, g_hPipe, CLIENTUSER_INTERFACE_VERSION);
- // m_fWorkerActive2 = true;
- //
- //
- m_fSteamDllLoaded = TRUE;
- }
- return fRC;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement