[WIN32CSR]

Add a new API GetTempFile() that returns an identifier to be used for creating temporary files.
This API should be in basesrv.dll

svn path=/trunk/; revision=50835
This commit is contained in:
Pierre Schweitzer 2011-02-20 19:23:46 +00:00
parent f59aa17010
commit 43a5ab1712
6 changed files with 61 additions and 1 deletions

View file

@ -511,7 +511,12 @@ typedef struct
DWORD NumberOfHistoryBuffers;
DWORD dwFlags;
} CSRSS_GET_HISTORY_INFO, *PCSRSS_GET_HISTORY_INFO,
CSRSS_SET_HISTORY_INFO, *PCSRSS_SET_HISTORY_INFO;
CSRSS_SET_HISTORY_INFO, *PCSRSS_SET_HISTORY_INFO;;
typedef struct
{
UINT UniqueID;
} CSRSS_GET_TEMP_FILE, *PCSRSS_GET_TEMP_FILE;
#define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
#define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
@ -592,6 +597,7 @@ typedef struct
#define SET_HISTORY_NUMBER_COMMANDS (0x45)
#define GET_HISTORY_INFO (0x46)
#define SET_HISTORY_INFO (0x47)
#define GET_TEMP_FILE (0x48)
/* Keep in sync with definition below. */
#define CSRSS_HEADER_SIZE (sizeof(PORT_MESSAGE) + sizeof(ULONG) + sizeof(NTSTATUS))
@ -673,6 +679,7 @@ typedef struct _CSR_API_MESSAGE
CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands;
CSRSS_GET_HISTORY_INFO GetHistoryInfo;
CSRSS_SET_HISTORY_INFO SetHistoryInfo;
CSRSS_GET_TEMP_FILE GetTempFile;
} Data;
} CSR_API_MESSAGE, *PCSR_API_MESSAGE;

View file

@ -87,6 +87,7 @@ static CSRSS_API_DEFINITION Win32CsrApiDefinitions[] =
CSRSS_DEFINE_API(SET_HISTORY_NUMBER_COMMANDS, CsrSetHistoryNumberCommands),
CSRSS_DEFINE_API(GET_HISTORY_INFO, CsrGetHistoryInfo),
CSRSS_DEFINE_API(SET_HISTORY_INFO, CsrSetHistoryInfo),
CSRSS_DEFINE_API(GET_TEMP_FILE, CsrGetTempFile),
{ 0, 0, NULL }
};

View file

@ -0,0 +1,33 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: subsys/csrss/win32csr/file.c
* PURPOSE: File handling
* PROGRAMMERS: Pierre Schweitzer (pierre.schweitzer@reactos.org)
* NOTE: Belongs to basesrv.dll
*/
/* INCLUDES ******************************************************************/
#include <w32csr.h>
#define NDEBUG
#include <debug.h>
/* GLOBALS *******************************************************************/
UINT CsrGetTempFileUnique;
/* FUNCTIONS *****************************************************************/
CSR_API(CsrGetTempFile)
{
DPRINT1("CsrGetTempFile entered\n");
/* Return 16-bits ID */
Request->Data.GetTempFile.UniqueID = (++CsrGetTempFileUnique & 0xFFFF);
DPRINT1("Returning: %u\n", Request->Data.GetTempFile.UniqueID);
return STATUS_SUCCESS;
}

View file

@ -0,0 +1,17 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
* FILE: subsystem/win32/csrss/win32csr/file.h
* PURPOSE: File handling
* PROGRAMMERS: Pierre Schweitzer (pierre.schweitzer@reactos.org)
* NOTE: Belongs to basesrv.dll
*/
#pragma once
#include "api.h"
/* Api functions */
CSR_API(CsrGetTempFile);
/* EOF */

View file

@ -18,6 +18,7 @@
#include <conio.h>
#include <csrplugin.h>
#include <desktopbg.h>
#include "file.h"
#include "guiconsole.h"
#include "tuiconsole.h"
#include <win32csr.h>

View file

@ -24,6 +24,7 @@
<file>desktopbg.c</file>
<file>dllmain.c</file>
<file>exitros.c</file>
<file>file.c</file>
<file>guiconsole.c</file>
<file>handle.c</file>
<file>harderror.c</file>