mirror of
https://github.com/reactos/reactos.git
synced 2024-07-27 22:58:42 +00:00
W32API conversion update
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly. svn path=/trunk/; revision=5461
This commit is contained in:
parent
12d87df6e0
commit
59a33415c2
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: lpcsrv.c,v 1.11 2002/09/08 10:21:58 chorns Exp $
|
/* $Id: lpcsrv.c,v 1.12 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Simple LPC Server
|
* DESCRIPTION: Simple LPC Server
|
||||||
* PROGRAMMER: David Welch
|
* PROGRAMMER: David Welch
|
||||||
|
@ -74,7 +74,7 @@ int main(int argc, char* argv[])
|
||||||
printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
|
printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
|
||||||
ConnectMsg.Header.MessageId, NamedPortHandle);
|
ConnectMsg.Header.MessageId, NamedPortHandle);
|
||||||
printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
|
printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
|
||||||
ConnectMsg.Header.Cid.UniqueProcess, ConnectMsg.Header.Cid.UniqueThread);
|
ConnectMsg.Header.ClientId.UniqueProcess, ConnectMsg.Header.ClientId.UniqueThread);
|
||||||
|
|
||||||
printf("%s: Accepting connection request 0x%08x...\n", MyName,
|
printf("%s: Accepting connection request 0x%08x...\n", MyName,
|
||||||
ConnectMsg.Header.MessageId);
|
ConnectMsg.Header.MessageId);
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: dirctl.c,v 1.12 2003/02/13 22:24:15 hbirr Exp $
|
/* $Id: dirctl.c,v 1.13 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -544,14 +544,14 @@ CdfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
|
||||||
PCCB Ccb;
|
PCCB Ccb;
|
||||||
FCB TempFcb;
|
FCB TempFcb;
|
||||||
BOOLEAN First = FALSE;
|
BOOLEAN First = FALSE;
|
||||||
PIO_STACK_LOCATION Stack;
|
PEXTENDED_IO_STACK_LOCATION Stack;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
DPRINT("CdfsQueryDirectory() called\n");
|
DPRINT("CdfsQueryDirectory() called\n");
|
||||||
|
|
||||||
DeviceExtension = DeviceObject->DeviceExtension;
|
DeviceExtension = DeviceObject->DeviceExtension;
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
FileObject = Stack->FileObject;
|
FileObject = Stack->FileObject;
|
||||||
|
|
||||||
Ccb = (PCCB)FileObject->FsContext2;
|
Ccb = (PCCB)FileObject->FsContext2;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: fcb.c,v 1.14 2003/07/21 21:53:47 royce Exp $
|
/* $Id: fcb.c,v 1.15 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
/* INCLUDES *****************************************************************/
|
/* INCLUDES *****************************************************************/
|
||||||
|
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: fsctrl.c,v 1.3 2002/09/08 10:22:10 chorns Exp $
|
/* $Id: fsctrl.c,v 1.4 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -22,7 +22,7 @@ NTSTATUS STDCALL
|
||||||
MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp)
|
PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION IoStack;
|
PEXTENDED_IO_STACK_LOCATION IoStack;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
PMSFS_MAILSLOT Mailslot;
|
PMSFS_MAILSLOT Mailslot;
|
||||||
PMSFS_FCB Fcb;
|
PMSFS_FCB Fcb;
|
||||||
|
@ -30,14 +30,14 @@ MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
DPRINT1("MsfsFileSystemControl(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
DPRINT1("MsfsFileSystemControl(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
IoStack = IoGetCurrentIrpStackLocation(Irp);
|
IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
FileObject = IoStack->FileObject;
|
FileObject = IoStack->FileObject;
|
||||||
Fcb = FileObject->FsContext;
|
Fcb = FileObject->FsContext;
|
||||||
Mailslot = Fcb->Mailslot;
|
Mailslot = Fcb->Mailslot;
|
||||||
|
|
||||||
DPRINT1("Mailslot name: %wZ\n", &Mailslot->Name);
|
DPRINT1("Mailslot name: %wZ\n", &Mailslot->Name);
|
||||||
|
|
||||||
switch (IoStack->Parameters.FileSystemControl.IoControlCode)
|
switch (IoStack->Parameters.FileSystemControl.FsControlCode)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
case FSCTL_WAIT_PIPE:
|
case FSCTL_WAIT_PIPE:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: fsctrl.c,v 1.10 2002/09/08 10:22:11 chorns Exp $
|
/* $Id: fsctrl.c,v 1.11 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -395,7 +395,7 @@ NTSTATUS STDCALL
|
||||||
NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
PIRP Irp)
|
PIRP Irp)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION IoStack;
|
PEXTENDED_IO_STACK_LOCATION IoStack;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PNPFS_DEVICE_EXTENSION DeviceExt;
|
PNPFS_DEVICE_EXTENSION DeviceExt;
|
||||||
|
@ -405,7 +405,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
DPRINT("NpfsFileSystemContol(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
DPRINT("NpfsFileSystemContol(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
|
||||||
|
|
||||||
DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
|
DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
|
||||||
IoStack = IoGetCurrentIrpStackLocation(Irp);
|
IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
DPRINT("IoStack: %p\n", IoStack);
|
DPRINT("IoStack: %p\n", IoStack);
|
||||||
FileObject = IoStack->FileObject;
|
FileObject = IoStack->FileObject;
|
||||||
DPRINT("FileObject: %p\n", FileObject);
|
DPRINT("FileObject: %p\n", FileObject);
|
||||||
|
@ -415,7 +415,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||||
DPRINT("Pipe: %p\n", Pipe);
|
DPRINT("Pipe: %p\n", Pipe);
|
||||||
DPRINT("PipeName: %wZ\n", &Pipe->PipeName);
|
DPRINT("PipeName: %wZ\n", &Pipe->PipeName);
|
||||||
|
|
||||||
switch (IoStack->Parameters.FileSystemControl.IoControlCode)
|
switch (IoStack->Parameters.FileSystemControl.FsControlCode)
|
||||||
{
|
{
|
||||||
case FSCTL_PIPE_ASSIGN_EVENT:
|
case FSCTL_PIPE_ASSIGN_EVENT:
|
||||||
DPRINT("Assign event\n");
|
DPRINT("Assign event\n");
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: attrib.c,v 1.4 2003/07/21 21:53:47 royce Exp $
|
/* $Id: attrib.c,v 1.5 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -29,6 +29,8 @@
|
||||||
|
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
|
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
//#define NDEBUG
|
//#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: dirctl.c,v 1.5 2003/02/13 22:24:16 hbirr Exp $
|
/* $Id: dirctl.c,v 1.6 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -494,14 +494,14 @@ NtfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
|
||||||
PCCB Ccb;
|
PCCB Ccb;
|
||||||
FCB TempFcb;
|
FCB TempFcb;
|
||||||
BOOLEAN First = FALSE;
|
BOOLEAN First = FALSE;
|
||||||
PIO_STACK_LOCATION Stack;
|
PEXTENDED_IO_STACK_LOCATION Stack;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
DPRINT1("NtfsQueryDirectory() called\n");
|
DPRINT1("NtfsQueryDirectory() called\n");
|
||||||
|
|
||||||
DeviceExtension = DeviceObject->DeviceExtension;
|
DeviceExtension = DeviceObject->DeviceExtension;
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
FileObject = Stack->FileObject;
|
FileObject = Stack->FileObject;
|
||||||
|
|
||||||
Ccb = (PCCB)FileObject->FsContext2;
|
Ccb = (PCCB)FileObject->FsContext2;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: fcb.c,v 1.8 2003/07/21 21:53:47 royce Exp $
|
/* $Id: fcb.c,v 1.9 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -32,6 +32,8 @@
|
||||||
//#define NDEBUG
|
//#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
#include "ntfs.h"
|
#include "ntfs.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $Id: dir.c,v 1.30 2003/07/24 20:52:58 chorns Exp $
|
* $Id: dir.c,v 1.31 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -208,6 +208,8 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
|
||||||
PVFATCCB pCcb;
|
PVFATCCB pCcb;
|
||||||
BOOLEAN First = FALSE;
|
BOOLEAN First = FALSE;
|
||||||
|
|
||||||
|
PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
|
||||||
|
|
||||||
pCcb = (PVFATCCB) IrpContext->FileObject->FsContext2;
|
pCcb = (PVFATCCB) IrpContext->FileObject->FsContext2;
|
||||||
pFcb = (PVFATFCB) IrpContext->FileObject->FsContext;
|
pFcb = (PVFATFCB) IrpContext->FileObject->FsContext;
|
||||||
|
|
||||||
|
@ -218,11 +220,11 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtain the callers parameters
|
// Obtain the callers parameters
|
||||||
BufferLength = IrpContext->Stack->Parameters.QueryDirectory.Length;
|
BufferLength = Stack->Parameters.QueryDirectory.Length;
|
||||||
pSearchPattern = IrpContext->Stack->Parameters.QueryDirectory.FileName;
|
pSearchPattern = Stack->Parameters.QueryDirectory.FileName;
|
||||||
FileInformationClass =
|
FileInformationClass =
|
||||||
IrpContext->Stack->Parameters.QueryDirectory.FileInformationClass;
|
Stack->Parameters.QueryDirectory.FileInformationClass;
|
||||||
FileIndex = IrpContext->Stack->Parameters.QueryDirectory.FileIndex;
|
FileIndex = Stack->Parameters.QueryDirectory.FileIndex;
|
||||||
if (pSearchPattern)
|
if (pSearchPattern)
|
||||||
{
|
{
|
||||||
if (!pCcb->DirectorySearchPattern)
|
if (!pCcb->DirectorySearchPattern)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: fcb.c,v 1.32 2003/07/24 20:52:58 chorns Exp $
|
/* $Id: fcb.c,v 1.33 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* FILE: fcb.c
|
* FILE: fcb.c
|
||||||
|
@ -14,6 +14,7 @@
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: fsctl.c,v 1.20 2003/07/24 20:52:58 chorns Exp $
|
/* $Id: fsctl.c,v 1.21 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -29,6 +29,8 @@
|
||||||
#include <ddk/ntddk.h>
|
#include <ddk/ntddk.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
/* $Id: rw.c,v 1.59 2003/07/24 20:52:58 chorns Exp $
|
/* $Id: rw.c,v 1.60 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -15,6 +15,8 @@
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <ntos/minmax.h>
|
#include <ntos/minmax.h>
|
||||||
|
|
||||||
|
#include <ntos.h>
|
||||||
|
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: volume.c,v 1.22 2003/07/24 20:52:58 chorns Exp $
|
/* $Id: volume.c,v 1.23 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -248,6 +248,7 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
PVOID SystemBuffer;
|
PVOID SystemBuffer;
|
||||||
ULONG BufferLength;
|
ULONG BufferLength;
|
||||||
|
PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
|
||||||
|
|
||||||
/* PRECONDITION */
|
/* PRECONDITION */
|
||||||
assert(IrpContext);
|
assert(IrpContext);
|
||||||
|
@ -260,8 +261,8 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
|
||||||
return VfatQueueRequest (IrpContext);
|
return VfatQueueRequest (IrpContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
FsInformationClass = IrpContext->Stack->Parameters.SetVolume.FsInformationClass;
|
FsInformationClass = Stack->Parameters.SetVolume.FsInformationClass;
|
||||||
BufferLength = IrpContext->Stack->Parameters.SetVolume.Length;
|
BufferLength = Stack->Parameters.SetVolume.Length;
|
||||||
SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer;
|
SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer;
|
||||||
|
|
||||||
DPRINT1("FsInformationClass %d\n", FsInformationClass);
|
DPRINT1("FsInformationClass %d\n", FsInformationClass);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef __INCLUDE_DDK_FSTYPES_H
|
#ifndef __INCLUDE_DDK_FSTYPES_H
|
||||||
#define __INCLUDE_DDK_FSTYPES_H
|
#define __INCLUDE_DDK_FSTYPES_H
|
||||||
/* $Id: fstypes.h,v 1.11 2003/06/07 10:14:39 chorns Exp $ */
|
/* $Id: fstypes.h,v 1.12 2003/08/07 11:47:32 silverblade Exp $ */
|
||||||
|
|
||||||
#define FSRTL_TAG TAG('F','S','r','t')
|
#define FSRTL_TAG TAG('F','S','r','t')
|
||||||
|
|
||||||
|
@ -10,6 +10,9 @@ typedef LBN *PLBN;
|
||||||
typedef ULONG VBN;
|
typedef ULONG VBN;
|
||||||
typedef VBN *PVBN;
|
typedef VBN *PVBN;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
typedef struct _FILE_LOCK_INFO {
|
typedef struct _FILE_LOCK_INFO {
|
||||||
LARGE_INTEGER StartingByte;
|
LARGE_INTEGER StartingByte;
|
||||||
LARGE_INTEGER Length;
|
LARGE_INTEGER Length;
|
||||||
|
@ -20,11 +23,6 @@ typedef struct _FILE_LOCK_INFO {
|
||||||
LARGE_INTEGER EndingByte;
|
LARGE_INTEGER EndingByte;
|
||||||
} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
|
} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
|
||||||
|
|
||||||
typedef struct _FILE_LOCK_GRANTED {
|
|
||||||
LIST_ENTRY ListEntry;
|
|
||||||
FILE_LOCK_INFO Lock;
|
|
||||||
} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
|
|
||||||
|
|
||||||
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
|
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
|
||||||
IN PVOID Context,
|
IN PVOID Context,
|
||||||
IN PIRP Irp
|
IN PIRP Irp
|
||||||
|
@ -92,4 +90,12 @@ typedef VOID
|
||||||
|
|
||||||
typedef PVOID OPLOCK, *POPLOCK;
|
typedef PVOID OPLOCK, *POPLOCK;
|
||||||
|
|
||||||
|
#endif /* __USE_W32API */
|
||||||
|
|
||||||
|
typedef struct _FILE_LOCK_GRANTED {
|
||||||
|
LIST_ENTRY ListEntry;
|
||||||
|
FILE_LOCK_INFO Lock;
|
||||||
|
} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
|
||||||
|
|
||||||
|
|
||||||
#endif /* __INCLUDE_DDK_FSFUNCS_H */
|
#endif /* __INCLUDE_DDK_FSFUNCS_H */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef _INCLUDE_DDK_IOFUNCS_H
|
#ifndef _INCLUDE_DDK_IOFUNCS_H
|
||||||
#define _INCLUDE_DDK_IOFUNCS_H
|
#define _INCLUDE_DDK_IOFUNCS_H
|
||||||
/* $Id: iofuncs.h,v 1.38 2003/06/07 10:14:39 chorns Exp $ */
|
/* $Id: iofuncs.h,v 1.39 2003/08/07 11:47:32 silverblade Exp $ */
|
||||||
|
|
||||||
/* --- EXPORTED BY NTOSKRNL --- */
|
/* --- EXPORTED BY NTOSKRNL --- */
|
||||||
|
|
||||||
|
@ -939,13 +939,17 @@ IoReportResourceUsage (
|
||||||
((PDRIVER_CANCEL)InterlockedExchangePointer(&(Irp)->CancelRoutine, \
|
((PDRIVER_CANCEL)InterlockedExchangePointer(&(Irp)->CancelRoutine, \
|
||||||
NewCancelRoutine))
|
NewCancelRoutine))
|
||||||
|
|
||||||
#define IoSetCompletionRoutine(Irp,Routine,Context,Success,Error,Cancel) \
|
// AG: Context is now NewContext, otherwise we end up with this:
|
||||||
|
// param->LocalLength=(LocalLength)
|
||||||
|
// ...which isn't possible.
|
||||||
|
|
||||||
|
#define IoSetCompletionRoutine(Irp,Routine,NewContext,Success,Error,Cancel) \
|
||||||
{ \
|
{ \
|
||||||
PIO_STACK_LOCATION param; \
|
PIO_STACK_LOCATION param; \
|
||||||
assert((Success)||(Error)||(Cancel)?(Routine)!=NULL:TRUE); \
|
assert((Success)||(Error)||(Cancel)?(Routine)!=NULL:TRUE); \
|
||||||
param = IoGetNextIrpStackLocation((Irp)); \
|
param = IoGetNextIrpStackLocation((Irp)); \
|
||||||
param->CompletionRoutine=(Routine); \
|
param->CompletionRoutine=(Routine); \
|
||||||
param->CompletionContext=(Context); \
|
param->Context=(NewContext); \
|
||||||
param->Control = 0; \
|
param->Control = 0; \
|
||||||
if ((Success)) \
|
if ((Success)) \
|
||||||
param->Control = SL_INVOKE_ON_SUCCESS; \
|
param->Control = SL_INVOKE_ON_SUCCESS; \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: iotypes.h,v 1.50 2003/07/17 16:57:38 silverblade Exp $
|
/* $Id: iotypes.h,v 1.51 2003/08/07 11:47:32 silverblade Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -23,6 +23,11 @@ extern POBJECT_TYPE IMPORTED IoDriverObjectType;
|
||||||
extern POBJECT_TYPE IMPORTED IoFileObjectType;
|
extern POBJECT_TYPE IMPORTED IoFileObjectType;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// from winddk.h
|
||||||
|
#define POINTER_ALIGNMENT
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are referenced before they can be fully defined
|
* These are referenced before they can be fully defined
|
||||||
*/
|
*/
|
||||||
|
@ -294,6 +299,8 @@ typedef struct
|
||||||
/*
|
/*
|
||||||
* PURPOSE: IRP stack location
|
* PURPOSE: IRP stack location
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
typedef struct __attribute__((packed)) _IO_STACK_LOCATION
|
typedef struct __attribute__((packed)) _IO_STACK_LOCATION
|
||||||
{
|
{
|
||||||
UCHAR MajorFunction;
|
UCHAR MajorFunction;
|
||||||
|
@ -462,9 +469,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
|
||||||
PCM_RESOURCE_LIST AllocatedResources;
|
PCM_RESOURCE_LIST AllocatedResources;
|
||||||
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
|
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
|
||||||
} StartDevice;
|
} StartDevice;
|
||||||
|
*/
|
||||||
/* Parameters for IRP_MN_SCSI_CLASS */
|
/* Parameters for IRP_MN_SCSI_CLASS */
|
||||||
struct
|
/* struct
|
||||||
{
|
{
|
||||||
struct _SCSI_REQUEST_BLOCK *Srb;
|
struct _SCSI_REQUEST_BLOCK *Srb;
|
||||||
} Scsi;
|
} Scsi;
|
||||||
|
@ -476,9 +483,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
|
||||||
ULONG Key;
|
ULONG Key;
|
||||||
LARGE_INTEGER ByteOffset;
|
LARGE_INTEGER ByteOffset;
|
||||||
} LockControl;
|
} LockControl;
|
||||||
|
*/
|
||||||
/* Paramters for other calls */
|
/* Paramters for other calls */
|
||||||
struct
|
/* struct
|
||||||
{
|
{
|
||||||
PVOID Argument1;
|
PVOID Argument1;
|
||||||
PVOID Argument2;
|
PVOID Argument2;
|
||||||
|
@ -493,7 +500,240 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
|
||||||
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
||||||
PVOID CompletionContext;
|
PVOID CompletionContext;
|
||||||
|
|
||||||
} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;
|
} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;*/
|
||||||
|
|
||||||
|
typedef struct _IO_STACK_LOCATION {
|
||||||
|
UCHAR MajorFunction;
|
||||||
|
UCHAR MinorFunction;
|
||||||
|
UCHAR Flags;
|
||||||
|
UCHAR Control;
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
|
ULONG Options;
|
||||||
|
USHORT POINTER_ALIGNMENT FileAttributes;
|
||||||
|
USHORT ShareAccess;
|
||||||
|
ULONG POINTER_ALIGNMENT EaLength;
|
||||||
|
} Create;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
|
LARGE_INTEGER ByteOffset;
|
||||||
|
} Read;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
|
LARGE_INTEGER ByteOffset;
|
||||||
|
} Write;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
||||||
|
} QueryFile;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
||||||
|
struct _FILE_OBJECT* FileObject;
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
BOOLEAN ReplaceIfExists;
|
||||||
|
BOOLEAN AdvanceOnly;
|
||||||
|
};
|
||||||
|
ULONG ClusterCount;
|
||||||
|
HANDLE DeleteHandle;
|
||||||
|
};
|
||||||
|
} SetFile;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
|
||||||
|
} QueryVolume;
|
||||||
|
struct {
|
||||||
|
ULONG OutputBufferLength;
|
||||||
|
ULONG POINTER_ALIGNMENT InputBufferLength;
|
||||||
|
ULONG POINTER_ALIGNMENT IoControlCode;
|
||||||
|
PVOID Type3InputBuffer;
|
||||||
|
} DeviceIoControl;
|
||||||
|
struct {
|
||||||
|
SECURITY_INFORMATION SecurityInformation;
|
||||||
|
ULONG POINTER_ALIGNMENT Length;
|
||||||
|
} QuerySecurity;
|
||||||
|
struct {
|
||||||
|
SECURITY_INFORMATION SecurityInformation;
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
||||||
|
} SetSecurity;
|
||||||
|
struct {
|
||||||
|
struct _VPB* Vpb;
|
||||||
|
struct _DEVICE_OBJECT* DeviceObject;
|
||||||
|
} MountVolume;
|
||||||
|
struct {
|
||||||
|
struct _VPB* Vpb;
|
||||||
|
struct _DEVICE_OBJECT* DeviceObject;
|
||||||
|
} VerifyVolume;
|
||||||
|
struct {
|
||||||
|
struct _SCSI_REQUEST_BLOCK *Srb;
|
||||||
|
} Scsi;
|
||||||
|
struct {
|
||||||
|
DEVICE_RELATION_TYPE Type;
|
||||||
|
} QueryDeviceRelations;
|
||||||
|
struct {
|
||||||
|
CONST GUID *InterfaceType;
|
||||||
|
USHORT Size;
|
||||||
|
USHORT Version;
|
||||||
|
PINTERFACE Interface;
|
||||||
|
PVOID InterfaceSpecificData;
|
||||||
|
} QueryInterface;
|
||||||
|
struct {
|
||||||
|
PDEVICE_CAPABILITIES Capabilities;
|
||||||
|
} DeviceCapabilities;
|
||||||
|
struct {
|
||||||
|
PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
|
||||||
|
} FilterResourceRequirements;
|
||||||
|
struct {
|
||||||
|
ULONG WhichSpace;
|
||||||
|
PVOID Buffer;
|
||||||
|
ULONG Offset;
|
||||||
|
ULONG POINTER_ALIGNMENT Length;
|
||||||
|
} ReadWriteConfig;
|
||||||
|
struct {
|
||||||
|
BOOLEAN Lock;
|
||||||
|
} SetLock;
|
||||||
|
struct {
|
||||||
|
BUS_QUERY_ID_TYPE IdType;
|
||||||
|
} QueryId;
|
||||||
|
struct {
|
||||||
|
DEVICE_TEXT_TYPE DeviceTextType;
|
||||||
|
LCID POINTER_ALIGNMENT LocaleId;
|
||||||
|
} QueryDeviceText;
|
||||||
|
struct {
|
||||||
|
BOOLEAN InPath;
|
||||||
|
BOOLEAN Reserved[3];
|
||||||
|
DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
|
||||||
|
} UsageNotification;
|
||||||
|
struct {
|
||||||
|
SYSTEM_POWER_STATE PowerState;
|
||||||
|
} WaitWake;
|
||||||
|
struct {
|
||||||
|
PPOWER_SEQUENCE PowerSequence;
|
||||||
|
} PowerSequence;
|
||||||
|
struct {
|
||||||
|
ULONG SystemContext;
|
||||||
|
POWER_STATE_TYPE POINTER_ALIGNMENT Type;
|
||||||
|
POWER_STATE POINTER_ALIGNMENT State;
|
||||||
|
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
|
||||||
|
} Power;
|
||||||
|
struct {
|
||||||
|
PCM_RESOURCE_LIST AllocatedResources;
|
||||||
|
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
|
||||||
|
} StartDevice;
|
||||||
|
struct {
|
||||||
|
ULONG_PTR ProviderId;
|
||||||
|
PVOID DataPath;
|
||||||
|
ULONG BufferSize;
|
||||||
|
PVOID Buffer;
|
||||||
|
} WMI;
|
||||||
|
struct {
|
||||||
|
PVOID Argument1;
|
||||||
|
PVOID Argument2;
|
||||||
|
PVOID Argument3;
|
||||||
|
PVOID Argument4;
|
||||||
|
} Others;
|
||||||
|
} Parameters;
|
||||||
|
struct _DEVICE_OBJECT* DeviceObject;
|
||||||
|
struct _FILE_OBJECT* FileObject;
|
||||||
|
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
||||||
|
PVOID Context;
|
||||||
|
} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
|
||||||
|
|
||||||
|
|
||||||
|
// AG: The commented lines in this structure are due to PMAILSLOT_CREATE_PARAMETERS
|
||||||
|
// and PNAMED_PIPE_CREATE_PARAMETERS and PFILE_GET_QUOTA_INFORMATION not being
|
||||||
|
// defined.
|
||||||
|
|
||||||
|
typedef struct _EXTENDED_IO_STACK_LOCATION {
|
||||||
|
|
||||||
|
/* Included for padding */
|
||||||
|
UCHAR MajorFunction;
|
||||||
|
UCHAR MinorFunction;
|
||||||
|
UCHAR Flags;
|
||||||
|
UCHAR Control;
|
||||||
|
|
||||||
|
union {
|
||||||
|
|
||||||
|
// struct {
|
||||||
|
// PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
|
// ULONG Options;
|
||||||
|
// USHORT Reserved;
|
||||||
|
// USHORT ShareAccess;
|
||||||
|
// PMAILSLOT_CREATE_PARAMETERS Parameters;
|
||||||
|
// } CreateMailslot;
|
||||||
|
|
||||||
|
// struct {
|
||||||
|
// PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
|
// ULONG Options;
|
||||||
|
// USHORT Reserved;
|
||||||
|
// USHORT ShareAccess;
|
||||||
|
// PNAMED_PIPE_CREATE_PARAMETERS Parameters;
|
||||||
|
// } CreatePipe;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG OutputBufferLength;
|
||||||
|
ULONG InputBufferLength;
|
||||||
|
ULONG FsControlCode;
|
||||||
|
PVOID Type3InputBuffer;
|
||||||
|
} FileSystemControl;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
PLARGE_INTEGER Length;
|
||||||
|
ULONG Key;
|
||||||
|
LARGE_INTEGER ByteOffset;
|
||||||
|
} LockControl;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
ULONG CompletionFilter;
|
||||||
|
} NotifyDirectory;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
PUNICODE_STRING FileName;
|
||||||
|
FILE_INFORMATION_CLASS FileInformationClass;
|
||||||
|
ULONG FileIndex;
|
||||||
|
} QueryDirectory;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
PVOID EaList;
|
||||||
|
ULONG EaListLength;
|
||||||
|
ULONG EaIndex;
|
||||||
|
} QueryEa;
|
||||||
|
|
||||||
|
// struct {
|
||||||
|
// ULONG Length;
|
||||||
|
// PSID StartSid;
|
||||||
|
// PFILE_GET_QUOTA_INFORMATION SidList;
|
||||||
|
// ULONG SidListLength;
|
||||||
|
// } QueryQuota;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
} SetEa;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
} SetQuota;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
FS_INFORMATION_CLASS FsInformationClass;
|
||||||
|
} SetVolume;
|
||||||
|
|
||||||
|
} Parameters;
|
||||||
|
struct _DEVICE_OBJECT* DeviceObject;
|
||||||
|
struct _FILE_OBJECT* FileObject;
|
||||||
|
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
||||||
|
PVOID Context;
|
||||||
|
|
||||||
|
} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _IO_STATUS_BLOCK
|
typedef struct _IO_STATUS_BLOCK
|
||||||
|
|
|
@ -27,19 +27,8 @@ VOID STDCALL KeAcquireSpinLock (PKSPIN_LOCK SpinLock,
|
||||||
|
|
||||||
VOID STDCALL KeAcquireSpinLockAtDpcLevel (IN PKSPIN_LOCK SpinLock);
|
VOID STDCALL KeAcquireSpinLockAtDpcLevel (IN PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
//NTOSAPI
|
|
||||||
//DDKFASTAPI
|
|
||||||
|
|
||||||
//STDCALL
|
|
||||||
//VOID
|
|
||||||
//KefAcquireSpinLockAtDpcLevel(
|
|
||||||
// IN PKSPIN_LOCK SpinLock);
|
|
||||||
|
|
||||||
#define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
|
#define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
|
||||||
|
|
||||||
//NTOSAPI
|
|
||||||
//DDKFASTAPI
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
STDCALL
|
STDCALL
|
||||||
KeReleaseSpinLockFromDpcLevel(
|
KeReleaseSpinLockFromDpcLevel(
|
||||||
|
@ -58,7 +47,6 @@ KeReleaseSpinLockFromDpcLevel(
|
||||||
* knows what file/line number where the bug check occured
|
* knows what file/line number where the bug check occured
|
||||||
*/
|
*/
|
||||||
VOID STDCALL KeBugCheck (ULONG BugCheckCode);
|
VOID STDCALL KeBugCheck (ULONG BugCheckCode);
|
||||||
#define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FUNCTION: Brings the system down in a controlled manner when an
|
* FUNCTION: Brings the system down in a controlled manner when an
|
||||||
|
@ -76,7 +64,6 @@ VOID STDCALL KeBugCheckEx (ULONG BugCheckCode,
|
||||||
ULONG BugCheckParameter2,
|
ULONG BugCheckParameter2,
|
||||||
ULONG BugCheckParameter3,
|
ULONG BugCheckParameter3,
|
||||||
ULONG BugCheckParameter4);
|
ULONG BugCheckParameter4);
|
||||||
#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
|
|
||||||
|
|
||||||
BOOLEAN STDCALL KeCancelTimer (PKTIMER Timer);
|
BOOLEAN STDCALL KeCancelTimer (PKTIMER Timer);
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#ifdef __USE_W32API
|
#ifdef __USE_W32API
|
||||||
#include <ddk/ntapi.h>
|
#include <ddk/ntapi.h>
|
||||||
|
#include <napi/types.h>
|
||||||
#endif /* !__USE_W32API */
|
#endif /* !__USE_W32API */
|
||||||
|
|
||||||
#include <ntos/security.h>
|
#include <ntos/security.h>
|
||||||
|
@ -52,9 +53,9 @@ typedef struct _LPC_MESSAGE
|
||||||
USHORT MessageSize;
|
USHORT MessageSize;
|
||||||
USHORT MessageType;
|
USHORT MessageType;
|
||||||
USHORT VirtualRangesOffset;
|
USHORT VirtualRangesOffset;
|
||||||
CLIENT_ID Cid;
|
CLIENT_ID ClientId;
|
||||||
ULONG MessageId;
|
ULONG MessageId;
|
||||||
ULONG SharedSectionSize; // CallbackID
|
ULONG SectionSize; // CallbackID
|
||||||
} LPC_MESSAGE, *PLPC_MESSAGE;
|
} LPC_MESSAGE, *PLPC_MESSAGE;
|
||||||
|
|
||||||
#endif /* !__USE_W32API */
|
#endif /* !__USE_W32API */
|
||||||
|
|
|
@ -3,12 +3,16 @@
|
||||||
|
|
||||||
#define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
|
#define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
#ifndef NASSERT
|
#ifndef NASSERT
|
||||||
#define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);}
|
#define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);}
|
||||||
#else
|
#else
|
||||||
#define assert(x)
|
#define assert(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
#define DPRINT(args...)
|
#define DPRINT(args...)
|
||||||
#define CHECKPOINT
|
#define CHECKPOINT
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#ifndef _NTOS_H
|
#ifndef _NTOS_H
|
||||||
#define _NTOS_H
|
#define _NTOS_H
|
||||||
/* $Id: ntos.h,v 1.12 2003/06/07 16:16:38 chorns Exp $ */
|
/* $Id: ntos.h,v 1.13 2003/08/07 11:47:33 silverblade Exp $ */
|
||||||
|
|
||||||
#if defined(NTOS_MODE_USER)
|
#if defined(NTOS_MODE_USER)
|
||||||
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
|
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
|
||||||
|
@ -87,6 +87,7 @@
|
||||||
#include "ntos/haltypes.h"
|
#include "ntos/haltypes.h"
|
||||||
#include "ntos/halfuncs.h"
|
#include "ntos/halfuncs.h"
|
||||||
#include "ntos/kdfuncs.h"
|
#include "ntos/kdfuncs.h"
|
||||||
|
#include "ntos/kefuncs.h" // AG
|
||||||
#include "ntos/obtypes.h"
|
#include "ntos/obtypes.h"
|
||||||
#include "ntos/tss.h"
|
#include "ntos/tss.h"
|
||||||
#include "rosrtl/thread.h"
|
#include "rosrtl/thread.h"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: filelock.c,v 1.9 2003/07/11 01:23:14 royce Exp $
|
/* $Id: filelock.c,v 1.10 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* reactos/ntoskrnl/fs/filelock.c
|
* reactos/ntoskrnl/fs/filelock.c
|
||||||
*
|
*
|
||||||
|
@ -540,14 +540,14 @@ FsRtlpCompletePendingLocks(
|
||||||
//walk pending list, FIFO order, try 2 complete locks
|
//walk pending list, FIFO order, try 2 complete locks
|
||||||
PLIST_ENTRY EnumEntry;
|
PLIST_ENTRY EnumEntry;
|
||||||
PIRP Irp;
|
PIRP Irp;
|
||||||
PIO_STACK_LOCATION Stack;
|
PEXTENDED_IO_STACK_LOCATION Stack;
|
||||||
|
|
||||||
EnumEntry = LockToc->PendingListHead.Blink;
|
EnumEntry = LockToc->PendingListHead.Blink;
|
||||||
while (EnumEntry != &LockToc->PendingListHead)
|
while (EnumEntry != &LockToc->PendingListHead)
|
||||||
{
|
{
|
||||||
Irp = CONTAINING_RECORD(EnumEntry,IRP, Tail.Overlay.ListEntry);
|
Irp = CONTAINING_RECORD(EnumEntry,IRP, Tail.Overlay.ListEntry);
|
||||||
|
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
if (FsRtlpAddLock(LockToc,
|
if (FsRtlpAddLock(LockToc,
|
||||||
Stack->FileObject,
|
Stack->FileObject,
|
||||||
&Stack->Parameters.LockControl.ByteOffset,
|
&Stack->Parameters.LockControl.ByteOffset,
|
||||||
|
@ -734,7 +734,7 @@ FsRtlpDumpFileLocks(
|
||||||
PFILE_LOCK_GRANTED Granted;
|
PFILE_LOCK_GRANTED Granted;
|
||||||
PIRP Irp;
|
PIRP Irp;
|
||||||
PLIST_ENTRY EnumEntry;
|
PLIST_ENTRY EnumEntry;
|
||||||
PIO_STACK_LOCATION Stack;
|
PEXTENDED_IO_STACK_LOCATION Stack;
|
||||||
|
|
||||||
assert(FileLock);
|
assert(FileLock);
|
||||||
LockToc = FileLock->LockInformation;
|
LockToc = FileLock->LockInformation;
|
||||||
|
@ -774,7 +774,7 @@ FsRtlpDumpFileLocks(
|
||||||
{
|
{
|
||||||
Irp = CONTAINING_RECORD(EnumEntry, IRP , Tail.Overlay.ListEntry );
|
Irp = CONTAINING_RECORD(EnumEntry, IRP , Tail.Overlay.ListEntry );
|
||||||
|
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
|
|
||||||
DPRINT1("%s, start: %i, len: %i, end: %i, key: %i, proc: 0x%X, fob: 0x%X\n",
|
DPRINT1("%s, start: %i, len: %i, end: %i, key: %i, proc: 0x%X, fob: 0x%X\n",
|
||||||
(Stack->Flags & SL_EXCLUSIVE_LOCK) ? "EXCL" : "SHRD",
|
(Stack->Flags & SL_EXCLUSIVE_LOCK) ? "EXCL" : "SHRD",
|
||||||
|
@ -1083,12 +1083,12 @@ FsRtlProcessFileLock (
|
||||||
IN PVOID Context OPTIONAL
|
IN PVOID Context OPTIONAL
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
PIO_STACK_LOCATION Stack;
|
PEXTENDED_IO_STACK_LOCATION Stack;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
IO_STATUS_BLOCK LocalIoStatus;
|
IO_STATUS_BLOCK LocalIoStatus;
|
||||||
|
|
||||||
assert(FileLock);
|
assert(FileLock);
|
||||||
Stack = IoGetCurrentIrpStackLocation(Irp);
|
Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
|
||||||
Irp->IoStatus.Information = 0;
|
Irp->IoStatus.Information = 0;
|
||||||
|
|
||||||
switch(Stack->MinorFunction)
|
switch(Stack->MinorFunction)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: dir.c,v 1.18 2003/07/11 01:23:14 royce Exp $
|
/* $Id: dir.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -91,7 +91,7 @@ NtQueryDirectoryFile(
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PIO_STACK_LOCATION IoStack;
|
PEXTENDED_IO_STACK_LOCATION IoStack;
|
||||||
IO_STATUS_BLOCK IoSB;
|
IO_STATUS_BLOCK IoSB;
|
||||||
|
|
||||||
DPRINT("NtQueryDirectoryFile()\n");
|
DPRINT("NtQueryDirectoryFile()\n");
|
||||||
|
@ -125,7 +125,7 @@ NtQueryDirectoryFile(
|
||||||
KeResetEvent( &FileObject->Event );
|
KeResetEvent( &FileObject->Event );
|
||||||
Irp->UserBuffer=FileInformation;
|
Irp->UserBuffer=FileInformation;
|
||||||
|
|
||||||
IoStack = IoGetNextIrpStackLocation(Irp);
|
IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
|
||||||
|
|
||||||
IoStack->MajorFunction = IRP_MJ_DIRECTORY_CONTROL;
|
IoStack->MajorFunction = IRP_MJ_DIRECTORY_CONTROL;
|
||||||
IoStack->MinorFunction = IRP_MN_QUERY_DIRECTORY;
|
IoStack->MinorFunction = IRP_MN_QUERY_DIRECTORY;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: fs.c,v 1.35 2003/07/10 15:47:00 royce Exp $
|
/* $Id: fs.c,v 1.36 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -75,7 +75,7 @@ NtFsControlFile (
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
PIRP Irp;
|
PIRP Irp;
|
||||||
PIO_STACK_LOCATION StackPtr;
|
PEXTENDED_IO_STACK_LOCATION StackPtr;
|
||||||
PKEVENT ptrEvent;
|
PKEVENT ptrEvent;
|
||||||
IO_STATUS_BLOCK IoSB;
|
IO_STATUS_BLOCK IoSB;
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ NtFsControlFile (
|
||||||
Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
|
Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
|
||||||
Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
|
Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
|
||||||
|
|
||||||
StackPtr = IoGetNextIrpStackLocation(Irp);
|
StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
|
||||||
StackPtr->FileObject = FileObject;
|
StackPtr->FileObject = FileObject;
|
||||||
StackPtr->DeviceObject = DeviceObject;
|
StackPtr->DeviceObject = DeviceObject;
|
||||||
StackPtr->Parameters.FileSystemControl.InputBufferLength = InputBufferSize;
|
StackPtr->Parameters.FileSystemControl.InputBufferLength = InputBufferSize;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: irp.c,v 1.52 2003/07/10 15:47:00 royce Exp $
|
/* $Id: irp.c,v 1.53 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -267,7 +267,7 @@ IofCompleteRequest(PIRP Irp,
|
||||||
{
|
{
|
||||||
Status = Irp->Stack[i].CompletionRoutine(DeviceObject,
|
Status = Irp->Stack[i].CompletionRoutine(DeviceObject,
|
||||||
Irp,
|
Irp,
|
||||||
Irp->Stack[i].CompletionContext);
|
Irp->Stack[i].Context);
|
||||||
|
|
||||||
if (Status == STATUS_MORE_PROCESSING_REQUIRED)
|
if (Status == STATUS_MORE_PROCESSING_REQUIRED)
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,7 @@ NtLockFile (
|
||||||
PLARGE_INTEGER LocalLength = NULL;
|
PLARGE_INTEGER LocalLength = NULL;
|
||||||
PKEVENT Event = NULL;
|
PKEVENT Event = NULL;
|
||||||
PIRP Irp = NULL;
|
PIRP Irp = NULL;
|
||||||
PIO_STACK_LOCATION StackPtr;
|
PEXTENDED_IO_STACK_LOCATION StackPtr;
|
||||||
IO_STATUS_BLOCK LocalIoStatusBlock;
|
IO_STATUS_BLOCK LocalIoStatusBlock;
|
||||||
PIO_STATUS_BLOCK IoStatusBlock;
|
PIO_STATUS_BLOCK IoStatusBlock;
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
|
@ -127,7 +127,7 @@ NtLockFile (
|
||||||
Irp->UserIosb = IoStatusBlock;
|
Irp->UserIosb = IoStatusBlock;
|
||||||
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
||||||
|
|
||||||
StackPtr = IoGetNextIrpStackLocation(Irp);
|
StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
|
||||||
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
|
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
|
||||||
StackPtr->MinorFunction = IRP_MN_LOCK;
|
StackPtr->MinorFunction = IRP_MN_LOCK;
|
||||||
StackPtr->FileObject = FileObject;
|
StackPtr->FileObject = FileObject;
|
||||||
|
@ -221,7 +221,7 @@ NtUnlockFile (
|
||||||
PFILE_OBJECT FileObject = NULL;
|
PFILE_OBJECT FileObject = NULL;
|
||||||
PLARGE_INTEGER LocalLength = NULL;
|
PLARGE_INTEGER LocalLength = NULL;
|
||||||
PIRP Irp = NULL;
|
PIRP Irp = NULL;
|
||||||
PIO_STACK_LOCATION StackPtr;
|
PEXTENDED_IO_STACK_LOCATION StackPtr;
|
||||||
IO_STATUS_BLOCK LocalIoStatusBlock;
|
IO_STATUS_BLOCK LocalIoStatusBlock;
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ NtUnlockFile (
|
||||||
Irp->UserIosb = &LocalIoStatusBlock;
|
Irp->UserIosb = &LocalIoStatusBlock;
|
||||||
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
||||||
|
|
||||||
StackPtr = IoGetNextIrpStackLocation(Irp);
|
StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
|
||||||
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
|
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
|
||||||
StackPtr->MinorFunction = IRP_MN_UNLOCK_SINGLE;
|
StackPtr->MinorFunction = IRP_MN_UNLOCK_SINGLE;
|
||||||
StackPtr->DeviceObject = DeviceObject;
|
StackPtr->DeviceObject = DeviceObject;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: vpb.c,v 1.21 2003/07/10 15:47:00 royce Exp $
|
/* $Id: vpb.c,v 1.22 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -287,7 +287,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
|
||||||
PDEVICE_OBJECT DeviceObject;
|
PDEVICE_OBJECT DeviceObject;
|
||||||
PIRP Irp;
|
PIRP Irp;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
PIO_STACK_LOCATION StackPtr;
|
PEXTENDED_IO_STACK_LOCATION StackPtr;
|
||||||
PVOID SystemBuffer;
|
PVOID SystemBuffer;
|
||||||
IO_STATUS_BLOCK IoSB;
|
IO_STATUS_BLOCK IoSB;
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
|
||||||
Irp->UserIosb = &IoSB;
|
Irp->UserIosb = &IoSB;
|
||||||
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
|
||||||
|
|
||||||
StackPtr = IoGetNextIrpStackLocation(Irp);
|
StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
|
||||||
StackPtr->MajorFunction = IRP_MJ_SET_VOLUME_INFORMATION;
|
StackPtr->MajorFunction = IRP_MJ_SET_VOLUME_INFORMATION;
|
||||||
StackPtr->MinorFunction = 0;
|
StackPtr->MinorFunction = 0;
|
||||||
StackPtr->Flags = 0;
|
StackPtr->Flags = 0;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: connect.c,v 1.18 2003/07/11 01:23:15 royce Exp $
|
/* $Id: connect.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -96,7 +96,7 @@ EiConnectPort(IN PEPORT* ConnectedPort,
|
||||||
sizeof(EPORT_CONNECT_REQUEST_MESSAGE) + RequestConnectDataLength;
|
sizeof(EPORT_CONNECT_REQUEST_MESSAGE) + RequestConnectDataLength;
|
||||||
DPRINT("RequestMessageSize %d\n",
|
DPRINT("RequestMessageSize %d\n",
|
||||||
RequestMessage->MessageHeader.MessageSize);
|
RequestMessage->MessageHeader.MessageSize);
|
||||||
RequestMessage->MessageHeader.SharedSectionSize = 0;
|
RequestMessage->MessageHeader.SectionSize = 0;
|
||||||
RequestMessage->ConnectingProcess = PsGetCurrentProcess();
|
RequestMessage->ConnectingProcess = PsGetCurrentProcess();
|
||||||
ObReferenceObjectByPointer(RequestMessage->ConnectingProcess,
|
ObReferenceObjectByPointer(RequestMessage->ConnectingProcess,
|
||||||
PROCESS_VM_OPERATION,
|
PROCESS_VM_OPERATION,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: reply.c,v 1.18 2003/07/21 21:53:52 royce Exp $
|
/* $Id: reply.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -61,8 +61,8 @@ EiReplyOrRequestPort (IN PEPORT Port,
|
||||||
memcpy(&MessageReply->Message, LpcReply, LpcReply->MessageSize);
|
memcpy(&MessageReply->Message, LpcReply, LpcReply->MessageSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageReply->Message.Cid.UniqueProcess = PsGetCurrentProcessId();
|
MessageReply->Message.ClientId.UniqueProcess = PsGetCurrentProcessId();
|
||||||
MessageReply->Message.Cid.UniqueThread = PsGetCurrentThreadId();
|
MessageReply->Message.ClientId.UniqueThread = PsGetCurrentThreadId();
|
||||||
MessageReply->Message.MessageType = MessageType;
|
MessageReply->Message.MessageType = MessageType;
|
||||||
MessageReply->Message.MessageId = InterlockedIncrement((LONG *)&EiNextLpcMessageId);
|
MessageReply->Message.MessageId = InterlockedIncrement((LONG *)&EiNextLpcMessageId);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: wapi.c,v 1.29 2003/07/29 23:03:01 jimtabor Exp $
|
/* $Id: wapi.c,v 1.30 2003/08/07 11:47:33 silverblade Exp $
|
||||||
*
|
*
|
||||||
* reactos/subsys/csrss/api/wapi.c
|
* reactos/subsys/csrss/api/wapi.c
|
||||||
*
|
*
|
||||||
|
@ -96,7 +96,7 @@ static void Thread_Api2(HANDLE ServerPort)
|
||||||
if ( LpcRequest.Header.MessageType == LPC_PORT_CLOSED )
|
if ( LpcRequest.Header.MessageType == LPC_PORT_CLOSED )
|
||||||
|
|
||||||
{
|
{
|
||||||
CsrFreeProcessData( (ULONG)LpcRequest.Header.Cid.UniqueProcess );
|
CsrFreeProcessData( (ULONG)LpcRequest.Header.ClientId.UniqueProcess );
|
||||||
NtClose(ServerPort);
|
NtClose(ServerPort);
|
||||||
NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
|
NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
|
||||||
continue;
|
continue;
|
||||||
|
@ -106,7 +106,7 @@ static void Thread_Api2(HANDLE ServerPort)
|
||||||
Reply = (PCSRSS_API_REPLY)&LpcReply;
|
Reply = (PCSRSS_API_REPLY)&LpcReply;
|
||||||
|
|
||||||
ProcessData = CsrGetProcessData(
|
ProcessData = CsrGetProcessData(
|
||||||
(ULONG)LpcRequest.Header.Cid.UniqueProcess);
|
(ULONG)LpcRequest.Header.ClientId.UniqueProcess);
|
||||||
|
|
||||||
// DisplayString(L"CSR: Received request\n");
|
// DisplayString(L"CSR: Received request\n");
|
||||||
if( Request->Type >= (sizeof( CsrFuncs ) / sizeof( CsrFunc )) - 1 )
|
if( Request->Type >= (sizeof( CsrFuncs ) / sizeof( CsrFunc )) - 1 )
|
||||||
|
@ -156,7 +156,7 @@ void Thread_Api(PVOID PortHandle)
|
||||||
NtTerminateThread(NtCurrentThread(), Status);
|
NtTerminateThread(NtCurrentThread(), Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcessData = CsrGetProcessData((ULONG)Request.Header.Cid.UniqueProcess);
|
ProcessData = CsrGetProcessData((ULONG)Request.Header.ClientId.UniqueProcess);
|
||||||
ProcessData->CsrSectionViewBase = LpcRead.ViewBase;
|
ProcessData->CsrSectionViewBase = LpcRead.ViewBase;
|
||||||
ProcessData->CsrSectionViewSize = LpcRead.ViewSize;
|
ProcessData->CsrSectionViewSize = LpcRead.ViewSize;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue