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.
 
 
 
 
 
 

66 lines
1.6 KiB

#pragma once
#include "fusionarray.h"
#include "sxsapi.h"
#include "csecuritymetadata.h"
#define SXSRECOVER_MODE_MASK ( 0x0000000F )
#define SXSRECOVER_NOTHING ( 0x00000000 )
#define SXSRECOVER_MANIFEST ( 0x00000001 )
#define SXSRECOVER_ASSEMBLYMEMBER ( 0x00000002 )
#define SXSRECOVER_FULL_ASSEMBLY ( SXSRECOVER_ASSEMBLYMEMBER | SXSRECOVER_MANIFEST )
enum SxsRecoveryResult
{
Recover_OK,
Recover_ManifestMissing,
Recover_CatalogInvalid,
Recover_OneOrMoreFailed,
Recover_SourceMissing,
Recover_Unknown
};
#if DBG
#define ENUM_TO_STRING( x ) case x: return (L#x)
inline PCWSTR SxspRecoveryResultToString( const SxsRecoveryResult r )
{
switch ( r )
{
ENUM_TO_STRING( Recover_OK );
ENUM_TO_STRING( Recover_ManifestMissing );
ENUM_TO_STRING( Recover_CatalogInvalid );
ENUM_TO_STRING( Recover_OneOrMoreFailed );
ENUM_TO_STRING( Recover_SourceMissing );
ENUM_TO_STRING( Recover_Unknown );
}
return L"Bad SxsRecoveryResult value";
}
#undef ENUM_TO_STRING
#endif
class CAssemblyRecoveryInfo;
BOOL
SxspOpenAssemblyInstallationKey(
DWORD dwFlags,
DWORD dwAccess,
CRegKey &rhkAssemblyInstallation
);
BOOL
SxspRecoverAssembly(
IN const CAssemblyRecoveryInfo &AsmRecoverInfo,
OUT SxsRecoveryResult &rStatus
);
#define SXSP_ADD_ASSEMBLY_INSTALLATION_INFO_FLAG_REFRESH (0x00000001)
BOOL
SxspAddAssemblyInstallationInfo(
DWORD dwFlags,
IN CAssemblyRecoveryInfo& rcAssemblyInfo,
IN const CCodebaseInformation& rcCodebaeInfo
);