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

csrplugin.h
Go to the documentation of this file.
00001 /* $Id: csrplugin.h 55665 2012-02-17 05:15:13Z ion $
00002  *
00003  * COPYRIGHT:       See COPYING in the top level directory
00004  * PROJECT:         ReactOS system libraries
00005  * FILE:            subsys/csrss/include/csrplugin.h
00006  * PURPOSE:         CSRSS plugin interface
00007  */
00008 
00009 /*
00010  * CSRSS is a native application and can only implicitly link against native
00011  * DLLs. Since e.g. user32.dll and gdi32.dll are win32 DLLs and not native
00012  * DLLs it is not possible to call functions in those DLLs directly from
00013  * CSRSS.
00014  * However, it is possible to explicitly load a non-native DLL. Such a DLL
00015  * can then in turn be implicitly linked against other DLLs in its own
00016  * subsystem.
00017  */
00018 
00019 #pragma once
00020 
00021 #include <windows.h>
00022 #include "api.h"
00023 
00024 typedef NTSTATUS (WINAPI *CSRSS_ENUM_PROCESSES_PROC)(CSRSS_ENUM_PROCESS_PROC EnumProc,
00025                                                       PVOID Context);
00026 
00027 typedef struct tagCSRSS_EXPORTED_FUNCS
00028 {
00029   CSRSS_ENUM_PROCESSES_PROC CsrEnumProcessesProc;
00030 } CSRSS_EXPORTED_FUNCS, *PCSRSS_EXPORTED_FUNCS;
00031 
00032 typedef BOOL (WINAPI *CSRPLUGIN_INIT_COMPLETE_PROC)(void);
00033 
00034 typedef VOID (WINAPI *CSRPLUGIN_HARDERROR_PROC)(IN PCSR_THREAD ThreadData,
00035                                                  IN PHARDERROR_MSG HardErrorMessage);
00036 
00037 typedef NTSTATUS (WINAPI *CSRPLUGIN_PROCESS_INHERIT_PROC)(IN PCSR_PROCESS SourceProcessData,
00038                                                           IN PCSR_PROCESS TargetProcessData);
00039 
00040 typedef ULONG (WINAPI *CSRPLUGIN_PROCESS_DELETED_PROC)(IN PCSR_PROCESS ProcessData, IN ULONG Unused, IN BOOLEAN Flag);
00041 
00042 typedef struct tagCSRSS_SERVER_PROCS
00043 {
00044   CSRPLUGIN_INIT_COMPLETE_PROC InitCompleteProc;
00045   CSRPLUGIN_HARDERROR_PROC HardErrorProc;
00046   CSRPLUGIN_PROCESS_INHERIT_PROC ProcessInheritProc;
00047   CSRPLUGIN_PROCESS_DELETED_PROC ProcessDeletedProc;
00048 } CSRPLUGIN_SERVER_PROCS, *PCSRPLUGIN_SERVER_PROCS;
00049 
00050 typedef BOOL (WINAPI *CSRPLUGIN_INITIALIZE_PROC)(PCSRSS_API_DEFINITION *ApiDefinitions,
00051                                                   PCSRPLUGIN_SERVER_PROCS ServerProcs);
00052 
00053 /* EOF */

Generated on Sat May 26 2012 04:36:33 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.