ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

actctx.c File Reference
#include <rtl.h>
#include <debug.h>
#include <wine/unicode.h>

Go to the source code of this file.

Data Structures

struct  xmlstr_t
struct  xmlbuf_t
struct  file_info
struct  assembly_version
struct  assembly_identity
struct  entity
struct  entity_array
struct  dll_redirect
struct  assembly
struct  ACTIVATION_CONTEXT
struct  actctx_loader

Defines

#define NDEBUG
#define ACTCTX_FLAGS_ALL
#define ACTCTX_MAGIC   0xC07E3E11
#define ACTCTX_FAKE_HANDLE   ((HANDLE) 0xf00baa)
#define ACTCTX_FAKE_COOKIE   ((ULONG_PTR) 0xf00bad)
#define FIND_ACTCTX_RETURN_FLAGS   0x00000002
#define FIND_ACTCTX_RETURN_ASSEMBLY_METADATA   0x00000004
#define FIND_ACTCTX_VALID_MASK   (FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX | FIND_ACTCTX_RETURN_FLAGS | FIND_ACTCTX_RETURN_ASSEMBLY_METADATA)

Enumerations

enum  assembly_type { APPLICATION_MANIFEST, ASSEMBLY_MANIFEST, ASSEMBLY_SHARED_MANIFEST }

Functions

static WCHARstrdupW (const WCHAR *str)
static WCHARxmlstrdupW (const xmlstr_t *str)
static UNICODE_STRING xmlstr2unicode (const xmlstr_t *xmlstr)
static BOOL xmlstr_cmp (const xmlstr_t *xmlstr, const WCHAR *str)
static BOOL xmlstr_cmpi (const xmlstr_t *xmlstr, const WCHAR *str)
static BOOL xmlstr_cmp_end (const xmlstr_t *xmlstr, const WCHAR *str)
static BOOL isxmlspace (WCHAR ch)
static struct assemblyadd_assembly (ACTIVATION_CONTEXT *actctx, enum assembly_type at)
static struct dll_redirectadd_dll_redirect (struct assembly *assembly)
static void free_assembly_identity (struct assembly_identity *ai)
static struct entityadd_entity (struct entity_array *array, DWORD kind)
static void free_entity_array (struct entity_array *array)
static BOOL is_matching_string (const WCHAR *str1, const WCHAR *str2)
static BOOL is_matching_identity (const struct assembly_identity *id1, const struct assembly_identity *id2)
static BOOL add_dependent_assembly_id (struct actctx_loader *acl, struct assembly_identity *ai)
static void free_depend_manifests (struct actctx_loader *acl)
static WCHARbuild_assembly_dir (struct assembly_identity *ai)
static void append_string (WCHAR *buffer, const WCHAR *prefix, const WCHAR *str)
static WCHARbuild_assembly_id (const struct assembly_identity *ai)
static ACTIVATION_CONTEXTcheck_actctx (HANDLE h)
static void actctx_addref (ACTIVATION_CONTEXT *actctx)
static void actctx_release (ACTIVATION_CONTEXT *actctx)
static BOOL next_xml_attr (xmlbuf_t *xmlbuf, xmlstr_t *name, xmlstr_t *value, BOOL *error, BOOL *end)
static BOOL next_xml_elem (xmlbuf_t *xmlbuf, xmlstr_t *elem)
static BOOL parse_xml_header (xmlbuf_t *xmlbuf)
static BOOL parse_text_content (xmlbuf_t *xmlbuf, xmlstr_t *content)
static BOOL parse_version (const xmlstr_t *str, struct assembly_version *version)
static BOOL parse_expect_elem (xmlbuf_t *xmlbuf, const WCHAR *name)
static BOOL parse_expect_no_attr (xmlbuf_t *xmlbuf, BOOL *end)
static BOOL parse_end_element (xmlbuf_t *xmlbuf)
static BOOL parse_expect_end_elem (xmlbuf_t *xmlbuf, const WCHAR *name)
static BOOL parse_unknown_elem (xmlbuf_t *xmlbuf, const xmlstr_t *unknown_elem)
static BOOL parse_assembly_identity_elem (xmlbuf_t *xmlbuf, ACTIVATION_CONTEXT *actctx, struct assembly_identity *ai)
static BOOL parse_com_class_elem (xmlbuf_t *xmlbuf, struct dll_redirect *dll)
static BOOL parse_cominterface_proxy_stub_elem (xmlbuf_t *xmlbuf, struct dll_redirect *dll)
static BOOL parse_typelib_elem (xmlbuf_t *xmlbuf, struct dll_redirect *dll)
static BOOL parse_window_class_elem (xmlbuf_t *xmlbuf, struct dll_redirect *dll)
static BOOL parse_binding_redirect_elem (xmlbuf_t *xmlbuf)
static BOOL parse_description_elem (xmlbuf_t *xmlbuf)
static BOOL parse_com_interface_external_proxy_stub_elem (xmlbuf_t *xmlbuf, struct assembly *assembly)
static BOOL parse_clr_class_elem (xmlbuf_t *xmlbuf, struct assembly *assembly)
static BOOL parse_clr_surrogate_elem (xmlbuf_t *xmlbuf, struct assembly *assembly)
static BOOL parse_dependent_assembly_elem (xmlbuf_t *xmlbuf, struct actctx_loader *acl, BOOL optional)
static BOOL parse_dependency_elem (xmlbuf_t *xmlbuf, struct actctx_loader *acl)
static BOOL parse_noinherit_elem (xmlbuf_t *xmlbuf)
static BOOL parse_noinheritable_elem (xmlbuf_t *xmlbuf)
static BOOL parse_file_elem (xmlbuf_t *xmlbuf, struct assembly *assembly)
static BOOL parse_assembly_elem (xmlbuf_t *xmlbuf, struct actctx_loader *acl, struct assembly *assembly, struct assembly_identity *expected_ai)
static NTSTATUS parse_manifest_buffer (struct actctx_loader *acl, struct assembly *assembly, struct assembly_identity *ai, xmlbuf_t *xmlbuf)
static NTSTATUS parse_manifest (struct actctx_loader *acl, struct assembly_identity *ai, LPCWSTR filename, LPCWSTR directory, BOOL shared, const void *buffer, SIZE_T size)
static NTSTATUS open_nt_file (HANDLE *handle, UNICODE_STRING *name)
static NTSTATUS get_module_filename (HMODULE module, UNICODE_STRING *str, USHORT extra_len)
static NTSTATUS get_manifest_in_module (struct actctx_loader *acl, struct assembly_identity *ai, LPCWSTR filename, LPCWSTR directory, BOOL shared, HANDLE hModule, LPCWSTR resname, ULONG lang)
static NTSTATUS get_manifest_in_pe_file (struct actctx_loader *acl, struct assembly_identity *ai, LPCWSTR filename, LPCWSTR directory, BOOL shared, HANDLE file, LPCWSTR resname, ULONG lang)
static NTSTATUS get_manifest_in_manifest_file (struct actctx_loader *acl, struct assembly_identity *ai, LPCWSTR filename, LPCWSTR directory, BOOL shared, HANDLE file)
static NTSTATUS get_manifest_in_associated_manifest (struct actctx_loader *acl, struct assembly_identity *ai, LPCWSTR filename, LPCWSTR directory, HMODULE module, LPCWSTR resname)
static WCHARlookup_manifest_file (HANDLE dir, struct assembly_identity *ai)
static NTSTATUS lookup_winsxs (struct actctx_loader *acl, struct assembly_identity *ai)
static NTSTATUS lookup_assembly (struct actctx_loader *acl, struct assembly_identity *ai)
static NTSTATUS parse_depend_manifests (struct actctx_loader *acl)
static NTSTATUS find_query_actctx (HANDLE *handle, DWORD flags, ULONG class)
static NTSTATUS fill_keyed_data (PACTCTX_SECTION_KEYED_DATA data, PVOID v1, PVOID v2, unsigned int i)
static NTSTATUS find_dll_redirection (ACTIVATION_CONTEXT *actctx, const UNICODE_STRING *section_name, PACTCTX_SECTION_KEYED_DATA data)
static NTSTATUS find_window_class (ACTIVATION_CONTEXT *actctx, const UNICODE_STRING *section_name, PACTCTX_SECTION_KEYED_DATA data)
static NTSTATUS find_string (ACTIVATION_CONTEXT *actctx, ULONG section_kind, const UNICODE_STRING *section_name, DWORD flags, PACTCTX_SECTION_KEYED_DATA data)
void actctx_init (void)
NTSTATUS WINAPI RtlCreateActivationContext (HANDLE *handle, void *ptr)
VOID NTAPI RtlAddRefActivationContext (HANDLE handle)
VOID NTAPI RtlReleaseActivationContext (HANDLE handle)
NTSTATUS NTAPI RtlActivateActivationContextEx (ULONG flags, PTEB tebAddress, HANDLE handle, PULONG_PTR cookie)
NTSTATUS NTAPI RtlActivateActivationContext (ULONG flags, HANDLE handle, PULONG_PTR cookie)
NTSTATUS NTAPI RtlDeactivateActivationContext (ULONG flags, ULONG_PTR cookie)
VOID NTAPI RtlFreeActivationContextStack (PACTIVATION_CONTEXT_STACK Stack)
VOID NTAPI RtlFreeThreadActivationContextStack (void)
NTSTATUS NTAPI RtlGetActiveActivationContext (HANDLE *handle)
BOOLEAN NTAPI RtlIsActivationContextActive (HANDLE handle)
NTSTATUS NTAPI RtlQueryInformationActivationContext (ULONG flags, HANDLE handle, PVOID subinst, ULONG class, PVOID buffer, SIZE_T bufsize, SIZE_T *retlen)
NTSTATUS NTAPI RtlQueryInformationActiveActivationContext (ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer OPTIONAL, SIZE_T *pcbWrittenOrRequired OPTIONAL)
NTSTATUS NTAPI RtlpFindActivationContextSection_CheckParameters (ULONG flags, const GUID *guid, ULONG section_kind, UNICODE_STRING *section_name, PACTCTX_SECTION_KEYED_DATA data)
NTSTATUS NTAPI RtlFindActivationContextSectionString (ULONG flags, const GUID *guid, ULONG section_kind, UNICODE_STRING *section_name, PVOID ptr)
NTSTATUS NTAPI RtlAllocateActivationContextStack (IN PVOID *Context)
PRTL_ACTIVATION_CONTEXT_STACK_FRAME
FASTCALL 
RtlActivateActivationContextUnsafeFast (IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame, IN PVOID Context)
PRTL_ACTIVATION_CONTEXT_STACK_FRAME
FASTCALL 
RtlDeactivateActivationContextUnsafeFast (IN PRTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED Frame)
NTSTATUS NTAPI RtlZombifyActivationContext (PVOID Context)

Variables

BOOLEAN RtlpNotAllowingMultipleActivation
static const WCHAR assemblyW [] = {'a','s','s','e','m','b','l','y',0}
static const WCHAR assemblyIdentityW [] = {'a','s','s','e','m','b','l','y','I','d','e','n','t','i','t','y',0}
static const WCHAR bindingRedirectW [] = {'b','i','n','d','i','n','g','R','e','d','i','r','e','c','t',0}
static const WCHAR clrClassW [] = {'c','l','r','C','l','a','s','s',0}
static const WCHAR clrSurrogateW [] = {'c','l','r','S','u','r','r','o','g','a','t','e',0}
static const WCHAR comClassW [] = {'c','o','m','C','l','a','s','s',0}
static const WCHAR comInterfaceExternalProxyStubW [] = {'c','o','m','I','n','t','e','r','f','a','c','e','E','x','t','e','r','n','a','l','P','r','o','x','y','S','t','u','b',0}
static const WCHAR comInterfaceProxyStubW [] = {'c','o','m','I','n','t','e','r','f','a','c','e','P','r','o','x','y','S','t','u','b',0}
static const WCHAR dependencyW [] = {'d','e','p','e','n','d','e','n','c','y',0}
static const WCHAR dependentAssemblyW [] = {'d','e','p','e','n','d','e','n','t','A','s','s','e','m','b','l','y',0}
static const WCHAR descriptionW [] = {'d','e','s','c','r','i','p','t','i','o','n',0}
static const WCHAR fileW [] = {'f','i','l','e',0}
static const WCHAR asmv2hashW [] = {'a','s','m','v','2',':','h','a','s','h',0}
static const WCHAR noInheritW [] = {'n','o','I','n','h','e','r','i','t',0}
static const WCHAR noInheritableW [] = {'n','o','I','n','h','e','r','i','t','a','b','l','e',0}
static const WCHAR typelibW [] = {'t','y','p','e','l','i','b',0}
static const WCHAR windowClassW [] = {'w','i','n','d','o','w','C','l','a','s','s',0}
static const WCHAR clsidW [] = {'c','l','s','i','d',0}
static const WCHAR hashW [] = {'h','a','s','h',0}
static const WCHAR hashalgW [] = {'h','a','s','h','a','l','g',0}
static const WCHAR helpdirW [] = {'h','e','l','p','d','i','r',0}
static const WCHAR iidW [] = {'i','i','d',0}
static const WCHAR languageW [] = {'l','a','n','g','u','a','g','e',0}
static const WCHAR manifestVersionW [] = {'m','a','n','i','f','e','s','t','V','e','r','s','i','o','n',0}
static const WCHAR nameW [] = {'n','a','m','e',0}
static const WCHAR newVersionW [] = {'n','e','w','V','e','r','s','i','o','n',0}
static const WCHAR oldVersionW [] = {'o','l','d','V','e','r','s','i','o','n',0}
static const WCHAR optionalW [] = {'o','p','t','i','o','n','a','l',0}
static const WCHAR processorArchitectureW [] = {'p','r','o','c','e','s','s','o','r','A','r','c','h','i','t','e','c','t','u','r','e',0}
static const WCHAR publicKeyTokenW [] = {'p','u','b','l','i','c','K','e','y','T','o','k','e','n',0}
static const WCHAR tlbidW [] = {'t','l','b','i','d',0}
static const WCHAR typeW [] = {'t','y','p','e',0}
static const WCHAR versionW [] = {'v','e','r','s','i','o','n',0}
static const WCHAR xmlnsW [] = {'x','m','l','n','s',0}
static const WCHAR xmlW [] = {'?','x','m','l',0}
static const WCHAR manifestv1W [] = {'u','r','n',':','s','c','h','e','m','a','s','-','m','i','c','r','o','s','o','f','t','-','c','o','m',':','a','s','m','.','v','1',0}
static const WCHAR manifestv3W [] = {'u','r','n',':','s','c','h','e','m','a','s','-','m','i','c','r','o','s','o','f','t','-','c','o','m',':','a','s','m','.','v','3',0}
static const WCHAR dotManifestW [] = {'.','m','a','n','i','f','e','s','t',0}
static const WCHAR version_formatW [] = {'%','u','.','%','u','.','%','u','.','%','u',0}
static ACTIVATION_CONTEXT system_actctx = { ACTCTX_MAGIC, 1 }
static ACTIVATION_CONTEXTprocess_actctx = &system_actctx

Generated on Sat May 26 2012 05:10:37 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.