Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.2 KiB

//
// Copyright (c) Microsoft Corporation
//
#include "basepch.h"
#include "sxsapi.h"
#include "dload.h"
DEFINE_PROCNAME_ENTRIES(sxs)
{
DLPENTRY(SxsBeginAssemblyInstall)
DLPENTRY(SxsEndAssemblyInstall)
};
DEFINE_PROCNAME_MAP(sxs)
static BOOL g_fSxsBeginAssemblyInstallFailed = FALSE;
static BOOL g_fSxsInstallAssemblyFailed = FALSE;
BOOL
WINAPI
SxsBeginAssemblyInstall(
IN DWORD Flags,
IN PSXS_INSTALLATION_FILE_COPY_CALLBACK InstallationCallback OPTIONAL,
IN PVOID InstallationContext OPTIONAL,
IN PSXS_IMPERSONATION_CALLBACK ImpersonationCallback OPTIONAL,
IN PVOID ImpersonationContext OPTIONAL,
OUT PVOID *InstallCookie
)
{
g_fSxsBeginAssemblyInstallFailed = TRUE;
if (InstallCookie != NULL) {
*InstallCookie = NULL;
}
DelayLoad_SetLastNtStatusAndWin32Error();
return FALSE;
}
BOOL
WINAPI
SxsEndAssemblyInstall(
IN PVOID InstallCookie,
IN DWORD Flags,
IN OUT PVOID Reserved OPTIONAL
)
{
if (g_fSxsBeginAssemblyInstallFailed || g_fSxsInstallAssemblyFailed) {
MYASSERT(Flags & SXS_END_ASSEMBLY_INSTALL_ABORT);
return TRUE;
}
DelayLoad_SetLastNtStatusAndWin32Error();
return FALSE;
}