lstrcpy(szBuf, siCFCoreFile.szDestination);
lstrcpy(szBuf, siCFXpcomFile.szDestination);
HRESULT InitializeXPIStub(){  char szBuf[MAX_BUF];  char szXPIStubFile[MAX_BUF];  char szEGetProcAddress[MAX_BUF];  hXPIStubInst = NULL;  if(NS_LoadString(hSetupRscInst, IDS_ERROR_GETPROCADDRESS, szEGetProcAddress, MAX_BUF) != WIZ_OK)    return(1);  /* change current directory to where xpistub.dll */  lstrcpy(szBuf, siCFCoreFile.szDestination);  AppendBackSlash(szBuf, sizeof(szBuf));  lstrcat(szBuf, "bin");  chdir(szBuf);  /* build full path to xpistub.dll */  lstrcpy(szXPIStubFile, szBuf);  AppendBackSlash(szXPIStubFile, sizeof(szXPIStubFile));  lstrcat(szXPIStubFile, "xpistub.dll");  if(FileExists(szXPIStubFile) == FALSE)    return(2);  /* load xpistub.dll */  if((hXPIStubInst = LoadLibraryEx(szXPIStubFile, NULL, LOAD_WITH_ALTERED_SEARCH_PATH)) == NULL)  {    wsprintf(szBuf, szEDllLoad, szXPIStubFile);    PrintError(szBuf, ERROR_CODE_SHOW);    return(1);  }  if(((FARPROC)pfnXpiInit = GetProcAddress(hXPIStubInst, "XPI_Init")) == NULL)  {    wsprintf(szBuf, szEGetProcAddress, "XPI_Init");    PrintError(szBuf, ERROR_CODE_SHOW);    return(1);  }  if(((FARPROC)pfnXpiInstall = GetProcAddress(hXPIStubInst, "XPI_Install")) == NULL)  {    wsprintf(szBuf, szEGetProcAddress, "XPI_Install");    PrintError(szBuf, ERROR_CODE_SHOW);    return(1);  }  if(((FARPROC)pfnXpiExit = GetProcAddress(hXPIStubInst, "XPI_Exit")) == NULL)  {    wsprintf(szBuf, szEGetProcAddress, "XPI_Exit");    PrintError(szBuf, ERROR_CODE_SHOW);    return(1);  }  return(0);}