mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 01:24:38 +00:00
fixes
svn path=/trunk/; revision=595
This commit is contained in:
parent
04f2911330
commit
6ac1592420
69 changed files with 9043 additions and 6499 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $Id: conport.c,v 1.4 1999/07/04 22:04:31 ea Exp $
|
||||
/* $Id: conport.c,v 1.5 1999/07/17 23:10:12 ea Exp $
|
||||
*
|
||||
* reactos/apps/lpc/conport.c
|
||||
*
|
||||
|
@ -119,7 +119,7 @@ TryConnectPort(char *port_name)
|
|||
if (Status == STATUS_SUCCESS)
|
||||
{
|
||||
DumpInfo(
|
||||
port_name_save,
|
||||
Name,
|
||||
Status,
|
||||
"connected",
|
||||
Port
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: creport.c,v 1.1 1999/07/04 22:04:31 ea Exp $
|
||||
/* $Id: creport.c,v 1.2 1999/07/17 23:10:12 ea Exp $
|
||||
*
|
||||
* reactos/apps/lpc/creport.c
|
||||
*
|
||||
|
@ -106,7 +106,7 @@ TryCreatePort(char *port_name)
|
|||
if (Status == STATUS_SUCCESS)
|
||||
{
|
||||
DumpInfo(
|
||||
port_name_save,
|
||||
Name,
|
||||
Status,
|
||||
"created",
|
||||
Port
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: dumpinfo.c,v 1.1 1999/07/04 22:04:31 ea Exp $
|
||||
/* $Id: dumpinfo.c,v 1.2 1999/07/17 23:10:12 ea Exp $
|
||||
*
|
||||
* reactos/apps/lpc/dumpinfo.c
|
||||
*
|
||||
|
@ -11,6 +11,8 @@
|
|||
* 19990704 (EA)
|
||||
* Added code to find the basic information buffer size
|
||||
* for the LPC port object.
|
||||
* 19990710 (EA)
|
||||
*
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
@ -31,6 +33,17 @@ NTSTATUS
|
|||
OUT PULONG ResultLength
|
||||
);
|
||||
|
||||
extern
|
||||
NTSTATUS
|
||||
(STDCALL * QueryInformationPort)(
|
||||
IN HANDLE PortHandle,
|
||||
IN CINT PortInformationClass, /* guess */
|
||||
OUT PVOID PortInformation, /* guess */
|
||||
IN ULONG PortInformationLength, /* guess */
|
||||
OUT PULONG ReturnLength /* guess */
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
static
|
||||
VOID
|
||||
|
@ -56,16 +69,20 @@ DumpBuffer(
|
|||
|
||||
VOID
|
||||
DumpInfo (
|
||||
LPCSTR Name,
|
||||
LPCWSTR Name,
|
||||
NTSTATUS Status,
|
||||
LPCSTR Comment,
|
||||
LPCWSTR Comment,
|
||||
HANDLE Port
|
||||
)
|
||||
{
|
||||
BYTE ObjectInformation [BUF_SIZE] = {0};
|
||||
ULONG ResultLength;
|
||||
|
||||
printf("Port \"%s\" %s:\n",Name,Comment);
|
||||
wprintf(
|
||||
L"Port \"%s\" %s:\n",
|
||||
Name,
|
||||
Comment
|
||||
);
|
||||
|
||||
printf("\tStatus = %08X\n",Status);
|
||||
printf("\tPort = %08X\n\n",Port);
|
||||
|
@ -191,6 +208,31 @@ FIXME: why this always raise an access violation exception?
|
|||
{
|
||||
printf("\tStatus = %08X\n",Status);
|
||||
}
|
||||
//---
|
||||
printf("Port Information:\n");
|
||||
/* Status = QueryInformationPort(
|
||||
Port,
|
||||
1, /* info class * /
|
||||
ObjectInformation,
|
||||
sizeof ObjectInformation,
|
||||
& ResultLength
|
||||
);
|
||||
if (Status == STATUS_SUCCESS)
|
||||
{
|
||||
DWORD * i = ObjectInformation;
|
||||
int j = 0;
|
||||
|
||||
while (j < ResultLength / sizeof (DWORD))
|
||||
{
|
||||
printf("\t%08X\n",i[j]);
|
||||
++j;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\tStatus = %08X\n",Status);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
VOID
|
||||
DumpInfo (
|
||||
LPCSTR Name,
|
||||
LPCWSTR Name,
|
||||
NTSTATUS Status,
|
||||
LPCSTR Comment,
|
||||
LPCWSTR Comment,
|
||||
HANDLE Port
|
||||
);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.2 1999/07/04 22:04:31 ea Exp $
|
||||
# $Id: makefile,v 1.3 1999/07/17 23:10:12 ea Exp $
|
||||
# ReactOS Operating System
|
||||
# LPC test
|
||||
CC=gcc
|
||||
|
@ -6,7 +6,7 @@ LD=ld
|
|||
CFLAGS=-I../../include
|
||||
|
||||
|
||||
all: conport.exe creport.exe
|
||||
all: conport.exe creport.exe simpless.exe
|
||||
|
||||
conport.exe: conport.o dumpinfo.o
|
||||
$(CC) -o conport conport.o dumpinfo.o
|
||||
|
@ -14,6 +14,9 @@ conport.exe: conport.o dumpinfo.o
|
|||
creport.exe: creport.o dumpinfo.o.
|
||||
$(CC) -o creport creport.o dumpinfo.o
|
||||
|
||||
simpless.exe: simpless.o dumpinfo.o.
|
||||
$(CC) -o simpless simpless.o dumpinfo.o
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
#ifndef _DDK_DEFINES_H
|
||||
#define _DDK_DEFINES_H
|
||||
|
||||
/* GENERAL DEFINITIONS ****************************************************/
|
||||
|
||||
#include <internal/hal/irq.h>
|
||||
|
@ -234,3 +237,5 @@ enum
|
|||
#define DISPATCH_LEVEL (3)
|
||||
#define FIRST_DEVICE_SPECIFIC_LEVEL (4)
|
||||
#define HIGH_LEVEL (FIRST_DEVICE_SPECIFIC_LEVEL + NR_DEVICE_SPECIFIC_LEVELS)
|
||||
|
||||
#endif /* ndef _DDK_DEFINES_H */
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
/* IO MANAGER ***************************************************************/
|
||||
|
||||
BOOLEAN IoRaiseInformationalHardError(NTSTATUS ErrorStatus,
|
||||
PUNICODE_STRING String,
|
||||
PKTHREAD Thread);
|
||||
BOOLEAN
|
||||
IoRaiseInformationalHardError (
|
||||
NTSTATUS ErrorStatus,
|
||||
PUNICODE_STRING String,
|
||||
PKTHREAD Thread
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -20,12 +23,19 @@ BOOLEAN IoRaiseInformationalHardError(NTSTATUS ErrorStatus,
|
|||
* ARGUMENTS:
|
||||
* Irpl = Variable to store the current IRQ level
|
||||
*/
|
||||
VOID IoAcquireCancelSpinLock(PKIRQL Irpl);
|
||||
VOID
|
||||
IoAcquireCancelSpinLock (
|
||||
PKIRQL Irpl
|
||||
);
|
||||
|
||||
typedef IO_ALLOCATION_ACTION (*PDRIVER_CONTROL)(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP irp,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID Context);
|
||||
typedef
|
||||
IO_ALLOCATION_ACTION
|
||||
(*PDRIVER_CONTROL) (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIRP irp,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates an adaptor object for a DMA operation on the target
|
||||
|
@ -40,11 +50,14 @@ typedef IO_ALLOCATION_ACTION (*PDRIVER_CONTROL)(PDEVICE_OBJECT DeviceObject,
|
|||
* execution routine
|
||||
* RETURNS: Success or failure code
|
||||
*/
|
||||
NTSTATUS IoAllocateAdapterChannel(PADAPTER_OBJECT AdaperObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
ULONG NumberOfMapRegisters,
|
||||
PDRIVER_CONTROL ExecutionRoutine,
|
||||
PVOID Context);
|
||||
NTSTATUS
|
||||
IoAllocateAdapterChannel (
|
||||
PADAPTER_OBJECT AdaperObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
ULONG NumberOfMapRegisters,
|
||||
PDRIVER_CONTROL ExecutionRoutine,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Sets up a call to a driver supplied controller object as
|
||||
|
@ -55,10 +68,13 @@ NTSTATUS IoAllocateAdapterChannel(PADAPTER_OBJECT AdaperObject,
|
|||
* ExecutionObject = Routine to be called
|
||||
* Context = Driver determined context to be based to the routine
|
||||
*/
|
||||
VOID IoAllocateController(PCONTROLLER_OBJECT ControllerObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PDRIVER_CONTROL ExecutionRoutine,
|
||||
PVOID Context);
|
||||
VOID
|
||||
IoAllocateController (
|
||||
PCONTROLLER_OBJECT ControllerObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PDRIVER_CONTROL ExecutionRoutine,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates an error log packet
|
||||
|
@ -68,7 +84,11 @@ VOID IoAllocateController(PCONTROLLER_OBJECT ControllerObject,
|
|||
* RETURNS: On success a pointer to the allocated packet
|
||||
* On failure returns NULL
|
||||
*/
|
||||
PVOID IoAllocateErrorLogEntry(PVOID IoObject, UCHAR EntrySize);
|
||||
PVOID
|
||||
IoAllocateErrorLogEntry (
|
||||
PVOID IoObject,
|
||||
UCHAR EntrySize
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates an IRP
|
||||
|
@ -78,7 +98,11 @@ PVOID IoAllocateErrorLogEntry(PVOID IoObject, UCHAR EntrySize);
|
|||
* RETURNS: On success the allocated IRP
|
||||
* On failure NULL
|
||||
*/
|
||||
PIRP IoAllocateIrp(CCHAR StackSize, BOOLEAN ChargeQuota);
|
||||
PIRP
|
||||
IoAllocateIrp (
|
||||
CCHAR StackSize,
|
||||
BOOLEAN ChargeQuota
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates an MDL large enough to map the supplied buffer
|
||||
|
@ -91,9 +115,14 @@ PIRP IoAllocateIrp(CCHAR StackSize, BOOLEAN ChargeQuota);
|
|||
* RETURNS: On the success the allocated MDL
|
||||
* On failure NULL
|
||||
*/
|
||||
PMDL IoAllocateMdl(PVOID VirtualAddress, ULONG Length,
|
||||
BOOLEAN SecondaryBuffer, BOOLEAN ChargeQuota,
|
||||
PIRP Irp);
|
||||
PMDL
|
||||
IoAllocateMdl (
|
||||
PVOID VirtualAddress,
|
||||
ULONG Length,
|
||||
BOOLEAN SecondaryBuffer,
|
||||
BOOLEAN ChargeQuota,
|
||||
PIRP Irp
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Creates a symbolic link between the ARC name of a physical
|
||||
|
@ -102,7 +131,11 @@ PMDL IoAllocateMdl(PVOID VirtualAddress, ULONG Length,
|
|||
* ArcName = ARC name of the device
|
||||
* DeviceName = Name of the device object
|
||||
*/
|
||||
VOID IoAssignArcName(PUNICODE_STRING ArcName, PUNICODE_STRING DeviceName);
|
||||
VOID
|
||||
IoAssignArcName (
|
||||
PUNICODE_STRING ArcName,
|
||||
PUNICODE_STRING DeviceName
|
||||
);
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -119,12 +152,15 @@ enum
|
|||
* RequestedResources = List of resources
|
||||
* RETURNS:
|
||||
*/
|
||||
NTSTATUS IoAssignResources(PUNICODE_STRING RegistryPath,
|
||||
PUNICODE_STRING DriverClassName,
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
|
||||
PCM_RESOURCE_LIST* AllocatedResources);
|
||||
NTSTATUS
|
||||
IoAssignResources (
|
||||
PUNICODE_STRING RegistryPath,
|
||||
PUNICODE_STRING DriverClassName,
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
|
||||
PCM_RESOURCE_LIST * AllocatedResources
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Attaches the callers device object to a named target device
|
||||
|
@ -135,9 +171,12 @@ NTSTATUS IoAssignResources(PUNICODE_STRING RegistryPath,
|
|||
* a pointer to the target device
|
||||
* RETURNS: Success or failure code
|
||||
*/
|
||||
NTSTATUS IoAttachDevice(PDEVICE_OBJECT SourceDevice,
|
||||
PUNICODE_STRING TargetDevice,
|
||||
PDEVICE_OBJECT* AttachedDevice);
|
||||
NTSTATUS
|
||||
IoAttachDevice (
|
||||
PDEVICE_OBJECT SourceDevice,
|
||||
PUNICODE_STRING TargetDevice,
|
||||
PDEVICE_OBJECT * AttachedDevice
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Obsolete
|
||||
|
@ -146,8 +185,11 @@ NTSTATUS IoAttachDevice(PDEVICE_OBJECT SourceDevice,
|
|||
* TargetDevice = device to be attached to
|
||||
* RETURNS: Success or failure code
|
||||
*/
|
||||
NTSTATUS IoAttachDeviceByPointer(PDEVICE_OBJECT SourceDevice,
|
||||
PDEVICE_OBJECT TargetDevice);
|
||||
NTSTATUS
|
||||
IoAttachDeviceByPointer (
|
||||
PDEVICE_OBJECT SourceDevice,
|
||||
PDEVICE_OBJECT TargetDevice
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Attaches the callers device to the highest device in the chain
|
||||
|
@ -157,8 +199,11 @@ NTSTATUS IoAttachDeviceByPointer(PDEVICE_OBJECT SourceDevice,
|
|||
* RETURNS: On success the previously highest device
|
||||
* On failure NULL
|
||||
*/
|
||||
PDEVICE_OBJECT IoAttachDeviceToDeviceStack(PDEVICE_OBJECT SourceDevice,
|
||||
PDEVICE_OBJECT TargetDevice);
|
||||
PDEVICE_OBJECT
|
||||
IoAttachDeviceToDeviceStack (
|
||||
PDEVICE_OBJECT SourceDevice,
|
||||
PDEVICE_OBJECT TargetDevice
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Builds a irp to be sent to lower level drivers
|
||||
|
@ -172,12 +217,15 @@ PDEVICE_OBJECT IoAttachDeviceToDeviceStack(PDEVICE_OBJECT SourceDevice,
|
|||
* RETURNS: On success the IRP allocated
|
||||
* On failure NULL
|
||||
*/
|
||||
PIRP IoBuildAsynchronousFsdRequest(ULONG MajorFunction,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
PLARGE_INTEGER StartingOffset,
|
||||
PIO_STATUS_BLOCK IoStatusBlock);
|
||||
PIRP
|
||||
IoBuildAsynchronousFsdRequest (
|
||||
ULONG MajorFunction,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
PLARGE_INTEGER StartingOffset,
|
||||
PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates and sets up an IRP for a device control request
|
||||
|
@ -195,42 +243,61 @@ PIRP IoBuildAsynchronousFsdRequest(ULONG MajorFunction,
|
|||
* completed
|
||||
* RETURNS: Returns the IRP created
|
||||
*/
|
||||
PIRP IoBuildDeviceIoControlRequest(ULONG IoControlCode,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength,
|
||||
BOOLEAN InternalDeviceIoControl,
|
||||
PKEVENT Event,
|
||||
PIO_STATUS_BLOCK IoStatusBlock);
|
||||
PIRP
|
||||
IoBuildDeviceIoControlRequest (
|
||||
ULONG IoControlCode,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID InputBuffer,
|
||||
ULONG InputBufferLength,
|
||||
PVOID OutputBuffer,
|
||||
ULONG OutputBufferLength,
|
||||
BOOLEAN InternalDeviceIoControl,
|
||||
PKEVENT Event,
|
||||
PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
|
||||
VOID IoBuildPartialMdl(PMDL SourceMdl,
|
||||
PMDL TargetMdl,
|
||||
PVOID VirtualAddress,
|
||||
ULONG Length);
|
||||
VOID
|
||||
IoBuildPartialMdl (
|
||||
PMDL SourceMdl,
|
||||
PMDL TargetMdl,
|
||||
PVOID VirtualAddress,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
PIRP IoBuildSynchronousFsdRequest(ULONG MajorFunction,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
PLARGE_INTEGER StartingOffset,
|
||||
PKEVENT Event,
|
||||
PIO_STATUS_BLOCK IoStatusBlock);
|
||||
PIRP
|
||||
IoBuildSynchronousFsdRequest (
|
||||
ULONG MajorFunction,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
PLARGE_INTEGER StartingOffset,
|
||||
PKEVENT Event,
|
||||
PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Sends an irp to the next lower driver
|
||||
*/
|
||||
NTSTATUS IoCallDriver(PDEVICE_OBJECT DeviceObject, PIRP irp);
|
||||
NTSTATUS
|
||||
IoCallDriver (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIRP irp
|
||||
);
|
||||
|
||||
BOOLEAN IoCancelIrp(PIRP Irp);
|
||||
BOOLEAN
|
||||
IoCancelIrp (
|
||||
PIRP Irp
|
||||
);
|
||||
|
||||
NTSTATUS IoCheckShareAccess(ACCESS_MASK DesiredAccess,
|
||||
ULONG DesiredShareAccess,
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess,
|
||||
BOOLEAN Update);
|
||||
NTSTATUS
|
||||
IoCheckShareAccess (
|
||||
ACCESS_MASK DesiredAccess,
|
||||
ULONG DesiredShareAccess,
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess,
|
||||
BOOLEAN Update
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Indicates the caller has finished all processing for a given
|
||||
|
@ -240,21 +307,31 @@ NTSTATUS IoCheckShareAccess(ACCESS_MASK DesiredAccess,
|
|||
* PriorityBoost = Increment by which to boost the priority of the
|
||||
* thread making the request
|
||||
*/
|
||||
VOID IoCompleteRequest(PIRP Irp, CCHAR PriorityBoost);
|
||||
VOID
|
||||
IoCompleteRequest (
|
||||
PIRP Irp,
|
||||
CCHAR PriorityBoost
|
||||
);
|
||||
|
||||
NTSTATUS IoConnectInterrupt(PKINTERRUPT* InterruptObject,
|
||||
PKSERVICE_ROUTINE ServiceRoutine,
|
||||
PVOID ServiceContext,
|
||||
PKSPIN_LOCK SpinLock,
|
||||
ULONG Vector,
|
||||
KIRQL Irql,
|
||||
KIRQL SynchronizeIrql,
|
||||
KINTERRUPT_MODE InterruptMode,
|
||||
BOOLEAN ShareVector,
|
||||
KAFFINITY ProcessorEnableMask,
|
||||
BOOLEAN FloatingSave);
|
||||
NTSTATUS
|
||||
IoConnectInterrupt (
|
||||
PKINTERRUPT * InterruptObject,
|
||||
PKSERVICE_ROUTINE ServiceRoutine,
|
||||
PVOID ServiceContext,
|
||||
PKSPIN_LOCK SpinLock,
|
||||
ULONG Vector,
|
||||
KIRQL Irql,
|
||||
KIRQL SynchronizeIrql,
|
||||
KINTERRUPT_MODE InterruptMode,
|
||||
BOOLEAN ShareVector,
|
||||
KAFFINITY ProcessorEnableMask,
|
||||
BOOLEAN FloatingSave
|
||||
);
|
||||
|
||||
PCONTROLLER_OBJECT IoCreateController(ULONG Size);
|
||||
PCONTROLLER_OBJECT
|
||||
IoCreateController (
|
||||
ULONG Size
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Allocates memory for and intializes a device object for use for
|
||||
|
@ -274,86 +351,167 @@ PCONTROLLER_OBJECT IoCreateController(ULONG Size);
|
|||
* if the call succeeded
|
||||
* NOTES: See the DDK documentation for more information
|
||||
*/
|
||||
NTSTATUS IoCreateDevice(PDRIVER_OBJECT DriverObject,
|
||||
ULONG DeviceExtensionSize,
|
||||
PUNICODE_STRING DeviceName,
|
||||
DEVICE_TYPE DeviceType,
|
||||
ULONG DeviceCharacteristics,
|
||||
BOOLEAN Exclusive,
|
||||
PDEVICE_OBJECT* DeviceObject);
|
||||
NTSTATUS
|
||||
IoCreateDevice (
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
ULONG DeviceExtensionSize,
|
||||
PUNICODE_STRING DeviceName,
|
||||
DEVICE_TYPE DeviceType,
|
||||
ULONG DeviceCharacteristics,
|
||||
BOOLEAN Exclusive,
|
||||
PDEVICE_OBJECT * DeviceObject
|
||||
);
|
||||
|
||||
|
||||
PKEVENT IoCreateNotificationEvent(PUNICODE_STRING EventName,
|
||||
PHANDLE EventHandle);
|
||||
PKEVENT
|
||||
IoCreateNotificationEvent (
|
||||
PUNICODE_STRING EventName,
|
||||
PHANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSTATUS IoCreateSymbolicLink(PUNICODE_STRING SymbolicLinkName,
|
||||
PUNICODE_STRING DeviceName);
|
||||
NTSTATUS
|
||||
IoCreateSymbolicLink (
|
||||
PUNICODE_STRING SymbolicLinkName,
|
||||
PUNICODE_STRING DeviceName
|
||||
);
|
||||
|
||||
PKEVENT IoCreateSynchronizationEvent(PUNICODE_STRING EventName,
|
||||
PHANDLE EventHandle);
|
||||
PKEVENT
|
||||
IoCreateSynchronizationEvent (
|
||||
PUNICODE_STRING EventName,
|
||||
PHANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSTATUS IoCreateUnprotectedSymbolicLink(PUNICODE_STRING SymbolicLinkName,
|
||||
PUNICODE_STRING DeviceName);
|
||||
NTSTATUS
|
||||
IoCreateUnprotectedSymbolicLink (
|
||||
PUNICODE_STRING SymbolicLinkName,
|
||||
PUNICODE_STRING DeviceName
|
||||
);
|
||||
|
||||
|
||||
VOID IoDeassignArcName(PUNICODE_STRING ArcName);
|
||||
VOID
|
||||
IoDeassignArcName (
|
||||
PUNICODE_STRING ArcName
|
||||
);
|
||||
|
||||
VOID IoDeleteController(PCONTROLLER_OBJECT ControllerObject);
|
||||
VOID
|
||||
IoDeleteController (
|
||||
PCONTROLLER_OBJECT ControllerObject
|
||||
);
|
||||
|
||||
VOID IoDeleteDevice(PDEVICE_OBJECT DeviceObject);
|
||||
VOID
|
||||
IoDeleteDevice (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
NTSTATUS IoDeleteSymbolicLink(PUNICODE_STRING SymbolicLinkName);
|
||||
NTSTATUS
|
||||
IoDeleteSymbolicLink (
|
||||
PUNICODE_STRING SymbolicLinkName
|
||||
);
|
||||
|
||||
VOID IoDetachDevice(PDEVICE_OBJECT TargetDevice);
|
||||
VOID
|
||||
IoDetachDevice (
|
||||
PDEVICE_OBJECT TargetDevice
|
||||
);
|
||||
|
||||
VOID IoDisconnectInterrupt(PKINTERRUPT InterruptObject);
|
||||
VOID
|
||||
IoDisconnectInterrupt (
|
||||
PKINTERRUPT InterruptObject
|
||||
);
|
||||
|
||||
BOOLEAN IoFlushAdapterBuffers(PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
ULONG Length,
|
||||
BOOLEAN WriteToDevice);
|
||||
BOOLEAN
|
||||
IoFlushAdapterBuffers (
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
ULONG Length,
|
||||
BOOLEAN WriteToDevice
|
||||
);
|
||||
|
||||
VOID IoFreeAdapterChannel(PADAPTER_OBJECT AdapterObject);
|
||||
VOID IoFreeController(PCONTROLLER_OBJECT ControllerObject);
|
||||
VOID IoFreeIrp(PIRP Irp);
|
||||
VOID IoFreeMapRegisters(PADAPTER_OBJECT AdapterObject,
|
||||
PVOID MapRegisterBase,
|
||||
ULONG NumberOfMapRegisters);
|
||||
VOID IoFreeMdl(PMDL Mdl);
|
||||
PCONFIGURATION_INFORMATION IoGetConfigurationInformation(VOID);
|
||||
VOID
|
||||
IoFreeAdapterChannel (
|
||||
PADAPTER_OBJECT AdapterObject
|
||||
);
|
||||
|
||||
VOID
|
||||
IoFreeController (
|
||||
PCONTROLLER_OBJECT ControllerObject
|
||||
);
|
||||
|
||||
VOID
|
||||
IoFreeIrp (
|
||||
PIRP Irp
|
||||
);
|
||||
|
||||
VOID
|
||||
IoFreeMapRegisters (
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PVOID MapRegisterBase,
|
||||
ULONG NumberOfMapRegisters
|
||||
);
|
||||
|
||||
VOID
|
||||
IoFreeMdl (
|
||||
PMDL Mdl
|
||||
);
|
||||
|
||||
PCONFIGURATION_INFORMATION
|
||||
IoGetConfigurationInformation (VOID);
|
||||
|
||||
|
||||
/*
|
||||
* FUNCTION: Returns a pointer to the callers stack location in the irp
|
||||
*/
|
||||
PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(IRP* irp);
|
||||
PIO_STACK_LOCATION
|
||||
IoGetCurrentIrpStackLocation (
|
||||
IRP * irp
|
||||
);
|
||||
|
||||
struct _EPROCESS* IoGetCurrentProcess(VOID);
|
||||
struct _EPROCESS *
|
||||
IoGetCurrentProcess (VOID);
|
||||
|
||||
NTSTATUS IoGetDeviceObjectPointer(PUNICODE_STRING ObjectName,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PFILE_OBJECT* FileObject,
|
||||
PDEVICE_OBJECT* DeviceObject);
|
||||
NTSTATUS
|
||||
IoGetDeviceObjectPointer (
|
||||
PUNICODE_STRING ObjectName,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
PFILE_OBJECT * FileObject,
|
||||
PDEVICE_OBJECT * DeviceObject
|
||||
);
|
||||
|
||||
PDEVICE_OBJECT IoGetDeviceToVerify(PETHREAD Thread);
|
||||
PDEVICE_OBJECT
|
||||
IoGetDeviceToVerify (
|
||||
PETHREAD Thread
|
||||
);
|
||||
|
||||
PGENERIC_MAPPING IoGetFileObjectGenericMapping(VOID);
|
||||
PGENERIC_MAPPING
|
||||
IoGetFileObjectGenericMapping (VOID);
|
||||
|
||||
ULONG IoGetFunctionCodeFromCtlCode(ULONG ControlCode);
|
||||
ULONG
|
||||
IoGetFunctionCodeFromCtlCode (
|
||||
ULONG ControlCode
|
||||
);
|
||||
|
||||
PVOID IoGetInitialStack(VOID);
|
||||
PVOID
|
||||
IoGetInitialStack (VOID);
|
||||
|
||||
/*
|
||||
* FUNCTION:
|
||||
*/
|
||||
PIO_STACK_LOCATION IoGetNextIrpStackLocation(IRP* irp);
|
||||
PIO_STACK_LOCATION
|
||||
IoGetNextIrpStackLocation (
|
||||
IRP * irp
|
||||
);
|
||||
|
||||
PDEVICE_OBJECT IoGetRelatedDeviceObject(PFILE_OBJECT FileObject);
|
||||
PDEVICE_OBJECT
|
||||
IoGetRelatedDeviceObject (
|
||||
PFILE_OBJECT FileObject
|
||||
);
|
||||
|
||||
VOID IoInitializeDpcRequest(PDEVICE_OBJECT DeviceObject,
|
||||
PIO_DPC_ROUTINE DpcRoutine);
|
||||
VOID
|
||||
IoInitializeDpcRequest (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIO_DPC_ROUTINE DpcRoutine
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Initalizes an irp allocated by the caller
|
||||
|
@ -362,24 +520,45 @@ VOID IoInitializeDpcRequest(PDEVICE_OBJECT DeviceObject,
|
|||
* PacketSize = Size in bytes of the IRP
|
||||
* StackSize = Number of stack locations in the IRP
|
||||
*/
|
||||
VOID IoInitializeIrp(PIRP Irp, USHORT PacketSize, CCHAR StackSize);
|
||||
VOID
|
||||
IoInitializeIrp (
|
||||
PIRP Irp,
|
||||
USHORT PacketSize,
|
||||
CCHAR StackSize
|
||||
);
|
||||
|
||||
NTSTATUS IoInitializeTimer(PDEVICE_OBJECT DeviceObject,
|
||||
PIO_TIMER_ROUTINE TimerRoutine,
|
||||
PVOID Context);
|
||||
NTSTATUS
|
||||
IoInitializeTimer (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIO_TIMER_ROUTINE TimerRoutine,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
BOOLEAN IoIsErrorUserInduced(NTSTATUS Status);
|
||||
BOOLEAN
|
||||
IoIsErrorUserInduced (
|
||||
NTSTATUS Status
|
||||
);
|
||||
|
||||
BOOLEAN IoIsTotalDeviceFailure(NTSTATUS Status);
|
||||
BOOLEAN
|
||||
IoIsTotalDeviceFailure (
|
||||
NTSTATUS Status
|
||||
);
|
||||
|
||||
PIRP IoMakeAssociatedIrp(PIRP Irp, CCHAR StackSize);
|
||||
PIRP
|
||||
IoMakeAssociatedIrp (
|
||||
PIRP Irp,
|
||||
CCHAR StackSize
|
||||
);
|
||||
|
||||
PHYSICAL_ADDRESS IoMapTransfer(PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
PULONG Length,
|
||||
BOOLEAN WriteToDevice);
|
||||
PHYSICAL_ADDRESS
|
||||
IoMapTransfer (
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
PULONG Length,
|
||||
BOOLEAN WriteToDevice
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Marks an IRP as pending
|
||||
|
@ -389,75 +568,130 @@ PHYSICAL_ADDRESS IoMapTransfer(PADAPTER_OBJECT AdapterObject,
|
|||
* must mark it pending otherwise the I/O manager will complete it on
|
||||
* return from the dispatch routine.
|
||||
*/
|
||||
VOID IoMarkIrpPending(PIRP Irp);
|
||||
VOID
|
||||
IoMarkIrpPending (
|
||||
PIRP Irp
|
||||
);
|
||||
|
||||
NTSTATUS IoQueryDeviceDescription(PINTERFACE_TYPE BusType,
|
||||
PULONG BusNumber,
|
||||
PCONFIGURATION_TYPE ControllerType,
|
||||
PULONG ControllerNumber,
|
||||
PCONFIGURATION_TYPE PeripheralType,
|
||||
PULONG PeripheralNumber,
|
||||
PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
||||
PVOID Context);
|
||||
NTSTATUS
|
||||
IoQueryDeviceDescription (
|
||||
PINTERFACE_TYPE BusType,
|
||||
PULONG BusNumber,
|
||||
PCONFIGURATION_TYPE ControllerType,
|
||||
PULONG ControllerNumber,
|
||||
PCONFIGURATION_TYPE PeripheralType,
|
||||
PULONG PeripheralNumber,
|
||||
PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
VOID IoRaiseHardError(PIRP Irp, PVPB Vpb, PDEVICE_OBJECT RealDeviceObject);
|
||||
VOID
|
||||
IoRaiseHardError (
|
||||
PIRP Irp,
|
||||
PVPB Vpb,
|
||||
PDEVICE_OBJECT RealDeviceObject
|
||||
);
|
||||
|
||||
BOOLEAN IoRaiseHardInformationalError(NTSTATUS ErrorStatus,
|
||||
PUNICODE_STRING String,
|
||||
PKTHREAD Thread);
|
||||
BOOLEAN
|
||||
IoRaiseHardInformationalError (
|
||||
NTSTATUS ErrorStatus,
|
||||
PUNICODE_STRING String,
|
||||
PKTHREAD Thread
|
||||
);
|
||||
|
||||
NTSTATUS IoReadPartitionTable(PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
BOOLEAN ReturnedRecognizedPartitions,
|
||||
struct _DRIVE_LAYOUT_INFORMATION** PBuffer);
|
||||
NTSTATUS
|
||||
IoReadPartitionTable (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
BOOLEAN ReturnedRecognizedPartitions,
|
||||
struct _DRIVE_LAYOUT_INFORMATION ** PBuffer
|
||||
);
|
||||
|
||||
VOID IoRegisterDriverReinitialization(PDRIVER_OBJECT DriverObject,
|
||||
PDRIVER_REINITIALIZE ReinitRoutine,
|
||||
PVOID Context);
|
||||
VOID
|
||||
IoRegisterDriverReinitialization (
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PDRIVER_REINITIALIZE ReinitRoutine,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
NTSTATUS IoRegisterShutdownNotification(PDEVICE_OBJECT DeviceObject);
|
||||
NTSTATUS
|
||||
IoRegisterShutdownNotification (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
VOID IoReleaseCancelSpinLock(KIRQL Irql);
|
||||
VOID
|
||||
IoReleaseCancelSpinLock (
|
||||
KIRQL Irql
|
||||
);
|
||||
|
||||
VOID IoRemoveShareAccess(PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess);
|
||||
VOID
|
||||
IoRemoveShareAccess (
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess
|
||||
);
|
||||
|
||||
NTSTATUS IoReportResourceUsage(PUNICODE_STRING DriverClassName,
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PCM_RESOURCE_LIST DriverList,
|
||||
ULONG DriverListSize,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PCM_RESOURCE_LIST DeviceList,
|
||||
ULONG DeviceListSize,
|
||||
BOOLEAN OverrideConflict,
|
||||
PBOOLEAN ConflictDetected);
|
||||
NTSTATUS
|
||||
IoReportResourceUsage (
|
||||
PUNICODE_STRING DriverClassName,
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PCM_RESOURCE_LIST DriverList,
|
||||
ULONG DriverListSize,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PCM_RESOURCE_LIST DeviceList,
|
||||
ULONG DeviceListSize,
|
||||
BOOLEAN OverrideConflict,
|
||||
PBOOLEAN ConflictDetected
|
||||
);
|
||||
|
||||
VOID IoRequestDpc(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp,
|
||||
PVOID Context);
|
||||
VOID
|
||||
IoRequestDpc (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp,
|
||||
PVOID Context
|
||||
);
|
||||
|
||||
PDRIVER_CANCEL IoSetCancelRoutine(PIRP Irp, PDRIVER_CANCEL CancelRoutine);
|
||||
PDRIVER_CANCEL
|
||||
IoSetCancelRoutine (
|
||||
PIRP Irp,
|
||||
PDRIVER_CANCEL CancelRoutine
|
||||
);
|
||||
|
||||
VOID IoSetCompletionRoutine(PIRP Irp,
|
||||
PIO_COMPLETION_ROUTINE CompletionRoutine,
|
||||
PVOID Context,
|
||||
BOOLEAN InvokeOnSuccess,
|
||||
BOOLEAN InvokeOnError,
|
||||
BOOLEAN InvokeOnCancel);
|
||||
VOID
|
||||
IoSetCompletionRoutine (
|
||||
PIRP Irp,
|
||||
PIO_COMPLETION_ROUTINE CompletionRoutine,
|
||||
PVOID Context,
|
||||
BOOLEAN InvokeOnSuccess,
|
||||
BOOLEAN InvokeOnError,
|
||||
BOOLEAN InvokeOnCancel
|
||||
);
|
||||
|
||||
VOID IoSetHardErrorOrVerifyDevice(PIRP Irp, PDEVICE_OBJECT DeviceObject);
|
||||
VOID
|
||||
IoSetHardErrorOrVerifyDevice (
|
||||
PIRP Irp,
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
VOID IoSetNextIrpStackLocation(PIRP Irp);
|
||||
VOID
|
||||
IoSetNextIrpStackLocation (
|
||||
PIRP Irp
|
||||
);
|
||||
|
||||
NTSTATUS IoSetPartitionInformation(PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
ULONG PartitionNumber,
|
||||
ULONG PartitionType);
|
||||
NTSTATUS
|
||||
IoSetPartitionInformation (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
ULONG PartitionNumber,
|
||||
ULONG PartitionType
|
||||
);
|
||||
|
||||
VOID IoSetShareAccess(ACCESS_MASK DesiredAccess,
|
||||
ULONG DesiredShareAccess,
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess);
|
||||
VOID
|
||||
IoSetShareAccess (
|
||||
ACCESS_MASK DesiredAccess,
|
||||
ULONG DesiredShareAccess,
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Determines the size of an IRP
|
||||
|
@ -465,7 +699,10 @@ VOID IoSetShareAccess(ACCESS_MASK DesiredAccess,
|
|||
* StackSize = number of stack locations in the IRP
|
||||
* RETURNS: The size of the IRP in bytes
|
||||
*/
|
||||
USHORT IoSizeOfIrp(CCHAR StackSize);
|
||||
USHORT
|
||||
IoSizeOfIrp (
|
||||
CCHAR StackSize
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Dequeues the next IRP from the device's associated queue and
|
||||
|
@ -474,11 +711,18 @@ USHORT IoSizeOfIrp(CCHAR StackSize);
|
|||
* DeviceObject = Device object
|
||||
* Cancelable = True if IRPs in the queue can be cancelled
|
||||
*/
|
||||
VOID IoStartNextPacket(PDEVICE_OBJECT DeviceObject, BOOLEAN Cancelable);
|
||||
VOID
|
||||
IoStartNextPacket (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
BOOLEAN Cancelable
|
||||
);
|
||||
|
||||
VOID IoStartNextPacketByKey(PDEVICE_OBJECT DeviceObject,
|
||||
BOOLEAN Cancelable,
|
||||
ULONG Key);
|
||||
VOID
|
||||
IoStartNextPacketByKey (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
BOOLEAN Cancelable,
|
||||
ULONG Key
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Calls the drivers StartIO routine with the IRP or queues it if
|
||||
|
@ -489,43 +733,84 @@ VOID IoStartNextPacketByKey(PDEVICE_OBJECT DeviceObject,
|
|||
* Key = Optional value for where to insert the IRP
|
||||
* CancelFunction = Entry point for a driver supplied cancel function
|
||||
*/
|
||||
VOID IoStartPacket(PDEVICE_OBJECT DeviceObject, PIRP Irp, PULONG Key,
|
||||
PDRIVER_CANCEL CancelFunction);
|
||||
VOID
|
||||
IoStartPacket (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp,
|
||||
PULONG Key,
|
||||
PDRIVER_CANCEL CancelFunction
|
||||
);
|
||||
|
||||
VOID IoStartTimer(PDEVICE_OBJECT DeviceObject);
|
||||
VOID
|
||||
IoStartTimer (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
VOID IoStopTimer(PDEVICE_OBJECT DeviceObject);
|
||||
VOID
|
||||
IoStopTimer (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
VOID IoUnregisterShutdownNotification(PDEVICE_OBJECT DeviceObject);
|
||||
VOID
|
||||
IoUnregisterShutdownNotification (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
VOID IoUpdateShareAccess(PFILE_OBJECT FileObject, PSHARE_ACCESS ShareAccess);
|
||||
VOID
|
||||
IoUpdateShareAccess (
|
||||
PFILE_OBJECT FileObject,
|
||||
PSHARE_ACCESS ShareAccess
|
||||
);
|
||||
|
||||
VOID IoWriteErrorLogEntry(PVOID ElEntry);
|
||||
VOID
|
||||
IoWriteErrorLogEntry (
|
||||
PVOID ElEntry
|
||||
);
|
||||
|
||||
NTSTATUS IoWritePartitionTable(PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
ULONG SectorsPerTrack,
|
||||
ULONG NumberOfHeads,
|
||||
struct _DRIVE_LAYOUT_INFORMATION* PBuffer);
|
||||
NTSTATUS
|
||||
IoWritePartitionTable (
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
ULONG SectorSize,
|
||||
ULONG SectorsPerTrack,
|
||||
ULONG NumberOfHeads,
|
||||
struct _DRIVE_LAYOUT_INFORMATION* PBuffer
|
||||
);
|
||||
|
||||
|
||||
// Preliminary guess
|
||||
NTKERNELAPI NTSTATUS IoQueryFileVolumeInformation(IN PFILE_OBJECT FileObject,
|
||||
IN FS_INFORMATION_CLASS FsInformationClass,
|
||||
IN ULONG Length,
|
||||
OUT PVOID FsInformation,
|
||||
OUT PULONG ReturnedLength);
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
IoQueryFileVolumeInformation (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN FS_INFORMATION_CLASS FsInformationClass,
|
||||
IN ULONG Length,
|
||||
OUT PVOID FsInformation,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
|
||||
NTKERNELAPI // confirmed - Undocumented because it does not require a valid file handle
|
||||
NTSTATUS
|
||||
IoQueryFileInformation(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass,
|
||||
IN ULONG Length,
|
||||
OUT PVOID FileInformation,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
VOID IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject);
|
||||
PDEVICE_OBJECT IoGetAttachedDevice(PDEVICE_OBJECT DeviceObject);
|
||||
PFILE_OBJECT IoCreateStreamFileObject(PFILE_OBJECT FileObject,
|
||||
PDEVICE_OBJECT DeviceObject);
|
||||
IoQueryFileInformation (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass,
|
||||
IN ULONG Length,
|
||||
OUT PVOID FileInformation,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
|
||||
VOID
|
||||
IoRegisterFileSystem (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
PDEVICE_OBJECT
|
||||
IoGetAttachedDevice (
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
PFILE_OBJECT
|
||||
IoCreateStreamFileObject (
|
||||
PFILE_OBJECT FileObject,
|
||||
PDEVICE_OBJECT DeviceObject
|
||||
);
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -111,167 +111,539 @@ enum
|
|||
* RootDirectory = Where the object should be placed or NULL
|
||||
* SecurityDescriptor = Ignored
|
||||
*/
|
||||
VOID InitializeObjectAttributes(POBJECT_ATTRIBUTES InitializedAttributes,
|
||||
PUNICODE_STRING ObjectName,
|
||||
ULONG Attributes,
|
||||
HANDLE RootDirectory,
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
VOID
|
||||
InitializeObjectAttributes (
|
||||
POBJECT_ATTRIBUTES InitializedAttributes,
|
||||
PUNICODE_STRING ObjectName,
|
||||
ULONG Attributes,
|
||||
HANDLE RootDirectory,
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor
|
||||
);
|
||||
|
||||
VOID InitializeListHead(PLIST_ENTRY ListHead);
|
||||
VOID InsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
|
||||
VOID InsertTailList(PLIST_ENTRY ListHead, PLIST_ENTRY Entry);
|
||||
BOOLEAN IsListEmpty(PLIST_ENTRY ListHead);
|
||||
PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead);
|
||||
VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry);
|
||||
VOID RemoveEntryList(PLIST_ENTRY Entry);
|
||||
PLIST_ENTRY RemoveHeadList(PLIST_ENTRY ListHead);
|
||||
PLIST_ENTRY RemoveTailList(PLIST_ENTRY ListHead);
|
||||
ULONG RtlAnsiStringToUnicodeSize(PANSI_STRING AnsiString);
|
||||
NTSTATUS RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString,
|
||||
PANSI_STRING SourceString,
|
||||
BOOLEAN AllocateDestinationString);
|
||||
NTSTATUS RtlAppendUnicodeStringToString(PUNICODE_STRING Destination,
|
||||
PUNICODE_STRING Source);
|
||||
NTSTATUS RtlAppendUnicodeToString(PUNICODE_STRING Destination,
|
||||
PWSTR Source);
|
||||
NTSTATUS RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value);
|
||||
NTSTATUS RtlCheckRegistryKey(ULONG RelativeTo, PWSTR Path);
|
||||
ULONG RtlCompareMemory(PVOID Source1, PVOID Source2, ULONG Length);
|
||||
LONG RtlCompareString(PSTRING String1, PSTRING String2,
|
||||
BOOLEAN CaseInsensitive);
|
||||
LONG RtlCompareUnicodeString(PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN BaseInsensitive);
|
||||
LARGE_INTEGER RtlConvertLongToLargeInteger(LONG SignedInteger);
|
||||
LARGE_INTEGER RtlConvertUlongToLargeInteger(ULONG UnsignedInteger);
|
||||
VOID RtlCopyBytes(PVOID Destination, CONST VOID* Source, ULONG Length);
|
||||
VOID RtlCopyMemory(VOID* Destination, CONST VOID* Source, ULONG Length);
|
||||
VOID RtlCopyString(PSTRING DestinationString, PSTRING SourceString);
|
||||
VOID RtlCopyUnicodeString(PUNICODE_STRING DestinationString,
|
||||
PUNICODE_STRING SourceString);
|
||||
NTSTATUS RtlCreateRegistryKey(ULONG RelativeTo,
|
||||
PWSTR Path);
|
||||
NTSTATUS RtlCreateSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
ULONG Revision);
|
||||
NTSTATUS RtlDeleteRegistryValue(ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PWSTR ValueName);
|
||||
LARGE_INTEGER RtlEnlargedIntegerMultiply(LONG Multiplicand,
|
||||
LONG Multiplier);
|
||||
ULONG RtlEnlargedUnsignedDivide(ULARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder);
|
||||
LARGE_INTEGER RtlEnlargedUnsignedMultiply(ULONG Multiplicand,
|
||||
ULONG Multiplier);
|
||||
BOOLEAN RtlEqualString(PSTRING String1,
|
||||
PSTRING String2,
|
||||
BOOLEAN CaseInSensitive);
|
||||
BOOLEAN RtlEqualUnicodeString(PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN CaseInSensitive);
|
||||
LARGE_INTEGER RtlExtendedIntegerMultiply(LARGE_INTEGER Multiplicand,
|
||||
LONG Multiplier);
|
||||
LARGE_INTEGER RtlExtendedLargeIntegerDivide(LARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder);
|
||||
LARGE_INTEGER RtlExtendedMagicDivide(LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER MagicDivisor,
|
||||
CCHAR ShiftCount);
|
||||
VOID RtlFillMemory(PVOID Destination, ULONG Length, UCHAR Fill);
|
||||
VOID RtlFreeAnsiString(PANSI_STRING AnsiString);
|
||||
VOID RtlFreeUnicodeString(PUNICODE_STRING UnicodeString);
|
||||
VOID RtlInitAnsiString(PANSI_STRING DestinationString,
|
||||
PCSZ SourceString);
|
||||
VOID RtlInitString(PSTRING DestinationString, PCSZ SourceString);
|
||||
VOID RtlInitUnicodeString(PUNICODE_STRING DestinationString,
|
||||
PCWSTR SourceString);
|
||||
NTSTATUS RtlIntegerToUnicodeString(ULONG Value,
|
||||
ULONG Base,
|
||||
PUNICODE_STRING String);
|
||||
LARGE_INTEGER RtlLargeIntegerAdd(LARGE_INTEGER Addend1,
|
||||
LARGE_INTEGER Addend2);
|
||||
VOID RtlLargeIntegerAnd(PLARGE_INTEGER Result,
|
||||
LARGE_INTEGER Source,
|
||||
LARGE_INTEGER Mask);
|
||||
VOID
|
||||
InitializeListHead (
|
||||
PLIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
VOID
|
||||
InsertHeadList (
|
||||
PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY Entry
|
||||
);
|
||||
|
||||
VOID
|
||||
InsertTailList (
|
||||
PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY Entry
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
IsListEmpty (
|
||||
PLIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
PSINGLE_LIST_ENTRY
|
||||
PopEntryList (
|
||||
PSINGLE_LIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
VOID
|
||||
PushEntryList (
|
||||
PSINGLE_LIST_ENTRY ListHead,
|
||||
PSINGLE_LIST_ENTRY Entry
|
||||
);
|
||||
|
||||
VOID
|
||||
RemoveEntryList (
|
||||
PLIST_ENTRY Entry
|
||||
);
|
||||
|
||||
PLIST_ENTRY
|
||||
RemoveHeadList (
|
||||
PLIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
PLIST_ENTRY
|
||||
RemoveTailList (
|
||||
PLIST_ENTRY ListHead
|
||||
);
|
||||
|
||||
ULONG
|
||||
RtlAnsiStringToUnicodeSize (
|
||||
PANSI_STRING AnsiString
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlAnsiStringToUnicodeString (
|
||||
PUNICODE_STRING DestinationString,
|
||||
PANSI_STRING SourceString,
|
||||
BOOLEAN AllocateDestinationString
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlAppendUnicodeStringToString (
|
||||
PUNICODE_STRING Destination,
|
||||
PUNICODE_STRING Source
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlAppendUnicodeToString (
|
||||
PUNICODE_STRING Destination,
|
||||
PWSTR Source
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlCharToInteger (
|
||||
PCSZ String,
|
||||
ULONG Base,
|
||||
PULONG Value
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlCheckRegistryKey (
|
||||
ULONG RelativeTo,
|
||||
PWSTR Path
|
||||
);
|
||||
|
||||
ULONG
|
||||
RtlCompareMemory (
|
||||
PVOID Source1,
|
||||
PVOID Source2,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
LONG
|
||||
RtlCompareString (
|
||||
PSTRING String1,
|
||||
PSTRING String2,
|
||||
BOOLEAN CaseInsensitive
|
||||
);
|
||||
|
||||
LONG
|
||||
RtlCompareUnicodeString (
|
||||
PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN BaseInsensitive
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlConvertLongToLargeInteger (
|
||||
LONG SignedInteger
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlConvertUlongToLargeInteger (
|
||||
ULONG UnsignedInteger
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlCopyBytes (
|
||||
PVOID Destination,
|
||||
CONST VOID * Source,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlCopyMemory (
|
||||
VOID * Destination,
|
||||
CONST VOID * Source,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlCopyString (
|
||||
PSTRING DestinationString,
|
||||
PSTRING SourceString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlCopyUnicodeString (
|
||||
PUNICODE_STRING DestinationString,
|
||||
PUNICODE_STRING SourceString
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlCreateRegistryKey (
|
||||
ULONG RelativeTo,
|
||||
PWSTR Path
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlCreateSecurityDescriptor (
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
ULONG Revision
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlDeleteRegistryValue (
|
||||
ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PWSTR ValueName
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlEnlargedIntegerMultiply (
|
||||
LONG Multiplicand,
|
||||
LONG Multiplier
|
||||
);
|
||||
|
||||
ULONG
|
||||
RtlEnlargedUnsignedDivide (
|
||||
ULARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlEnlargedUnsignedMultiply (
|
||||
ULONG Multiplicand,
|
||||
ULONG Multiplier
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlEqualString (
|
||||
PSTRING String1,
|
||||
PSTRING String2,
|
||||
BOOLEAN CaseInSensitive
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlEqualUnicodeString (
|
||||
PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN CaseInSensitive
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedIntegerMultiply (
|
||||
LARGE_INTEGER Multiplicand,
|
||||
LONG Multiplier
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedLargeIntegerDivide (
|
||||
LARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedMagicDivide (
|
||||
LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER MagicDivisor,
|
||||
CCHAR ShiftCount
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlFillMemory (
|
||||
PVOID Destination,
|
||||
ULONG Length,
|
||||
UCHAR Fill
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlFreeAnsiString (
|
||||
PANSI_STRING AnsiString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlFreeUnicodeString (
|
||||
PUNICODE_STRING UnicodeString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlInitAnsiString (
|
||||
PANSI_STRING DestinationString,
|
||||
PCSZ SourceString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlInitString (
|
||||
PSTRING DestinationString,
|
||||
PCSZ SourceString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlInitUnicodeString (
|
||||
PUNICODE_STRING DestinationString,
|
||||
PCWSTR SourceString
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlIntegerToUnicodeString (
|
||||
ULONG Value,
|
||||
ULONG Base,
|
||||
PUNICODE_STRING String
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerAdd (
|
||||
LARGE_INTEGER Addend1,
|
||||
LARGE_INTEGER Addend2
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlLargeIntegerAnd (
|
||||
PLARGE_INTEGER Result,
|
||||
LARGE_INTEGER Source,
|
||||
LARGE_INTEGER Mask
|
||||
);
|
||||
|
||||
/* MISSING FUNCTIONS GO HERE */
|
||||
LARGE_INTEGER RtlConvertLongToLargeInteger(LONG SignedInteger);
|
||||
LARGE_INTEGER RtlConvertUlongToLargeInteger(ULONG UnsignedInteger);
|
||||
LARGE_INTEGER RtlEnlargedIntegerMultiply(LONG Multiplicand,
|
||||
LONG Multiplier);
|
||||
ULONG RtlEnlargedUnsignedDivide(ULARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder);
|
||||
LARGE_INTEGER RtlEnlargedUnsignedMultiply(ULONG Multiplicand,
|
||||
ULONG Multipler);
|
||||
LARGE_INTEGER RtlExtendedIntegerMultiply(LARGE_INTEGER Multiplicand,
|
||||
LONG Multiplier);
|
||||
LARGE_INTEGER RtlExtendedLargeIntegerDivide(LARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder);
|
||||
LARGE_INTEGER RtlExtendedMagicDivide(LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER MagicDivisor,
|
||||
CCHAR ShiftCount);
|
||||
LARGE_INTEGER ExInterlockedAddLargeInteger(PLARGE_INTEGER Addend,
|
||||
LARGE_INTEGER Increment,
|
||||
PKSPIN_LOCK Lock);
|
||||
LARGE_INTEGER RtlLargeIntegerAdd(LARGE_INTEGER Addend1,
|
||||
LARGE_INTEGER Addend2);
|
||||
VOID RtlLargeIntegerAnd(PLARGE_INTEGER Result,
|
||||
LARGE_INTEGER Source,
|
||||
LARGE_INTEGER Mask);
|
||||
LARGE_INTEGER RtlLargeIntegerArithmeticShift(LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount);
|
||||
LARGE_INTEGER RtlLargeIntegerDivide(LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER Divisor,
|
||||
PLARGE_INTEGER Remainder);
|
||||
BOOLEAN RtlLargeIntegerEqualTo(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerEqualToZero(LARGE_INTEGER Operand);
|
||||
BOOLEAN RtlLargeIntegerGreaterThan(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerGreaterThanOrEqualTo(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerGreaterThanOrEqualToZero(LARGE_INTEGER Operand1);
|
||||
BOOLEAN RtlLargeIntegerGreaterThanZero(LARGE_INTEGER Operand1);
|
||||
BOOLEAN RtlLargeIntegerLessThan(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerLessThanOrEqualTo(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerLessThanOrEqualToZero(LARGE_INTEGER Operand);
|
||||
BOOLEAN RtlLargeIntegerLessThanZero(LARGE_INTEGER Operand);
|
||||
LARGE_INTEGER RtlLargeIntegerNegate(LARGE_INTEGER Subtrahend);
|
||||
BOOLEAN RtlLargeIntegerNotEqualTo(LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2);
|
||||
BOOLEAN RtlLargeIntegerNotEqualToZero(LARGE_INTEGER Operand);
|
||||
LARGE_INTEGER RtlLargeIntegerShiftLeft(LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount);
|
||||
LARGE_INTEGER RtlLargeIntegerShiftRight(LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount);
|
||||
LARGE_INTEGER RtlLargeIntegerSubtract(LARGE_INTEGER Minuend,
|
||||
LARGE_INTEGER Subtrahend);
|
||||
|
||||
ULONG RtlLengthSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
VOID RtlMoveMemory(PVOID Destination, CONST VOID* Source, ULONG Length);
|
||||
NTSTATUS RtlQueryRegistryValues(ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PRTL_QUERY_REGISTRY_TABLE QueryTable,
|
||||
PVOID Context, PVOID Environment);
|
||||
VOID RtlRetrieveUlong(PULONG DestinationAddress,
|
||||
PULONG SourceAddress);
|
||||
VOID RtlRetrieveUshort(PUSHORT DestinationAddress,
|
||||
PUSHORT SourceAddress);
|
||||
NTSTATUS RtlSetDaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
BOOLEAN DaclPresent,
|
||||
PACL Dacl,
|
||||
BOOLEAN DaclDefaulted);
|
||||
VOID RtlStoreLong(PULONG Address, ULONG Value);
|
||||
VOID RtlStoreUshort(PUSHORT Address, USHORT Value);
|
||||
BOOLEAN RtlTimeFieldsToTime(PTIME_FIELDS TimeFields, PLARGE_INTEGER Time);
|
||||
VOID RtlTimeToTimeFields(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields);
|
||||
PWSTR RtlStrtok(PUNICODE_STRING _string, PWSTR _sep, PWSTR* temp);
|
||||
VOID RtlGetCallersAddress(PVOID* CallersAddress);
|
||||
VOID RtlZeroMemory(PVOID Destination, ULONG Length);
|
||||
LARGE_INTEGER
|
||||
RtlConvertLongToLargeInteger (
|
||||
LONG SignedInteger
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlConvertUlongToLargeInteger (
|
||||
ULONG UnsignedInteger
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlEnlargedIntegerMultiply (
|
||||
LONG Multiplicand,
|
||||
LONG Multiplier
|
||||
);
|
||||
|
||||
ULONG
|
||||
RtlEnlargedUnsignedDivide (
|
||||
ULARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlEnlargedUnsignedMultiply (
|
||||
ULONG Multiplicand,
|
||||
ULONG Multipler
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedIntegerMultiply (
|
||||
LARGE_INTEGER Multiplicand,
|
||||
LONG Multiplier
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedLargeIntegerDivide (
|
||||
LARGE_INTEGER Dividend,
|
||||
ULONG Divisor,
|
||||
PULONG Remainder
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlExtendedMagicDivide (
|
||||
LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER MagicDivisor,
|
||||
CCHAR ShiftCount
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
ExInterlockedAddLargeInteger (
|
||||
PLARGE_INTEGER Addend,
|
||||
LARGE_INTEGER Increment,
|
||||
PKSPIN_LOCK Lock
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerAdd (
|
||||
LARGE_INTEGER Addend1,
|
||||
LARGE_INTEGER Addend2
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlLargeIntegerAnd (
|
||||
PLARGE_INTEGER Result,
|
||||
LARGE_INTEGER Source,
|
||||
LARGE_INTEGER Mask
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerArithmeticShift (
|
||||
LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerDivide (
|
||||
LARGE_INTEGER Dividend,
|
||||
LARGE_INTEGER Divisor,
|
||||
PLARGE_INTEGER Remainder
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerEqualTo (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerEqualToZero (
|
||||
LARGE_INTEGER Operand
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerGreaterThan (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerGreaterThanOrEqualTo (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerGreaterThanOrEqualToZero (
|
||||
LARGE_INTEGER Operand1
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerGreaterThanZero (
|
||||
LARGE_INTEGER Operand1
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerLessThan (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerLessThanOrEqualTo (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerLessThanOrEqualToZero (
|
||||
LARGE_INTEGER Operand
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerLessThanZero (
|
||||
LARGE_INTEGER Operand
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerNegate (
|
||||
LARGE_INTEGER Subtrahend
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerNotEqualTo (
|
||||
LARGE_INTEGER Operand1,
|
||||
LARGE_INTEGER Operand2
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlLargeIntegerNotEqualToZero (
|
||||
LARGE_INTEGER Operand
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerShiftLeft (
|
||||
LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerShiftRight (
|
||||
LARGE_INTEGER LargeInteger,
|
||||
CCHAR ShiftCount
|
||||
);
|
||||
|
||||
LARGE_INTEGER
|
||||
RtlLargeIntegerSubtract (
|
||||
LARGE_INTEGER Minuend,
|
||||
LARGE_INTEGER Subtrahend
|
||||
);
|
||||
|
||||
ULONG
|
||||
RtlLengthSecurityDescriptor (
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlMoveMemory (
|
||||
PVOID Destination,
|
||||
CONST VOID * Source,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlQueryRegistryValues (
|
||||
ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PRTL_QUERY_REGISTRY_TABLE QueryTable,
|
||||
PVOID Context,
|
||||
PVOID Environment
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlRetrieveUlong (
|
||||
PULONG DestinationAddress,
|
||||
PULONG SourceAddress
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlRetrieveUshort (
|
||||
PUSHORT DestinationAddress,
|
||||
PUSHORT SourceAddress
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlSetDaclSecurityDescriptor (
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
BOOLEAN DaclPresent,
|
||||
PACL Dacl,
|
||||
BOOLEAN DaclDefaulted
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlStoreLong (
|
||||
PULONG Address,
|
||||
ULONG Value
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlStoreUshort (
|
||||
PUSHORT Address,
|
||||
USHORT Value
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlTimeFieldsToTime (
|
||||
PTIME_FIELDS TimeFields,
|
||||
PLARGE_INTEGER Time
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlTimeToTimeFields (
|
||||
PLARGE_INTEGER Time,
|
||||
PTIME_FIELDS TimeFields
|
||||
);
|
||||
|
||||
PWSTR
|
||||
RtlStrtok (
|
||||
PUNICODE_STRING _string,
|
||||
PWSTR _sep,
|
||||
PWSTR * temp
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlGetCallersAddress (
|
||||
PVOID * CallersAddress
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlZeroMemory (
|
||||
PVOID Destination,
|
||||
ULONG Length
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
ULONG Length;
|
||||
|
@ -280,60 +652,154 @@ typedef struct {
|
|||
|
||||
// Heap creation routine
|
||||
|
||||
HANDLE STDCALL RtlCreateHeap(ULONG Flags,
|
||||
PVOID BaseAddress,
|
||||
ULONG SizeToReserve,
|
||||
ULONG SizeToCommit,
|
||||
PVOID Unknown,
|
||||
PRTL_HEAP_DEFINITION Definition);
|
||||
HANDLE
|
||||
STDCALL
|
||||
RtlCreateHeap (
|
||||
ULONG Flags,
|
||||
PVOID BaseAddress,
|
||||
ULONG SizeToReserve,
|
||||
ULONG SizeToCommit,
|
||||
PVOID Unknown,
|
||||
PRTL_HEAP_DEFINITION Definition
|
||||
);
|
||||
|
||||
PVOID STDCALL RtlAllocateHeap(HANDLE Heap,
|
||||
ULONG Flags,
|
||||
ULONG Size);
|
||||
PVOID
|
||||
STDCALL
|
||||
RtlAllocateHeap (
|
||||
HANDLE Heap,
|
||||
ULONG Flags,
|
||||
ULONG Size
|
||||
);
|
||||
|
||||
|
||||
BOOLEAN STDCALL RtlFreeHeap(HANDLE Heap,
|
||||
ULONG Flags,
|
||||
PVOID Address);
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
RtlFreeHeap (
|
||||
HANDLE Heap,
|
||||
ULONG Flags,
|
||||
PVOID Address
|
||||
);
|
||||
|
||||
NTSTATUS RtlUnicodeStringToAnsiString(IN OUT PANSI_STRING DestinationString,
|
||||
IN PUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString);
|
||||
NTSTATUS RtlUnicodeStringToInteger(IN PUNICODE_STRING String, IN ULONG Base,
|
||||
OUT PULONG Value);
|
||||
NTSTATUS RtlUpcaseUnicodeString(IN OUT PUNICODE_STRING DestinationString,
|
||||
IN PUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString);
|
||||
VOID RtlUpperString(PSTRING DestinationString, PSTRING SourceString);
|
||||
BOOLEAN RtlValidSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
NTSTATUS RtlWriteRegistryValue(ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PWSTR ValueName,
|
||||
ULONG ValueType,
|
||||
PVOID ValueData,
|
||||
ULONG ValueLength);
|
||||
NTSTATUS
|
||||
RtlUnicodeStringToAnsiString (
|
||||
IN OUT PANSI_STRING DestinationString,
|
||||
IN PUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlUnicodeStringToInteger (
|
||||
IN PUNICODE_STRING String,
|
||||
IN ULONG Base,
|
||||
OUT PULONG Value
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlUpcaseUnicodeString (
|
||||
IN OUT PUNICODE_STRING DestinationString,
|
||||
IN PUNICODE_STRING SourceString,
|
||||
IN BOOLEAN AllocateDestinationString
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlUpperString (
|
||||
PSTRING DestinationString,
|
||||
PSTRING SourceString
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
RtlValidSecurityDescriptor (
|
||||
PSECURITY_DESCRIPTOR SecurityDescriptor
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
RtlWriteRegistryValue (
|
||||
ULONG RelativeTo,
|
||||
PWSTR Path,
|
||||
PWSTR ValueName,
|
||||
ULONG ValueType,
|
||||
PVOID ValueData,
|
||||
ULONG ValueLength
|
||||
);
|
||||
|
||||
VOID
|
||||
RtlStoreUlong (
|
||||
PULONG Address,
|
||||
ULONG Value
|
||||
);
|
||||
|
||||
|
||||
DWORD
|
||||
RtlNtStatusToDosError (
|
||||
NTSTATUS StatusCode
|
||||
);
|
||||
|
||||
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
RtlDestroyHeap (
|
||||
HANDLE hheap
|
||||
);
|
||||
|
||||
LPVOID
|
||||
STDCALL
|
||||
RtlReAllocHeap (
|
||||
HANDLE hheap,
|
||||
DWORD flags,
|
||||
LPVOID ptr,
|
||||
DWORD size
|
||||
);
|
||||
|
||||
VOID RtlStoreUlong(PULONG Address,
|
||||
ULONG Value);
|
||||
HANDLE
|
||||
WINAPI
|
||||
RtlGetProcessHeap (VOID);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
RtlLockHeap (
|
||||
HANDLE hheap
|
||||
);
|
||||
|
||||
DWORD RtlNtStatusToDosError(NTSTATUS StatusCode);
|
||||
BOOL
|
||||
WINAPI
|
||||
RtlUnlockHeap (
|
||||
HANDLE hheap
|
||||
);
|
||||
|
||||
UINT
|
||||
RtlCompactHeap (
|
||||
HANDLE hheap,
|
||||
DWORD flags
|
||||
);
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
RtlSizeHeap (
|
||||
HANDLE hheap,
|
||||
DWORD flags,
|
||||
PVOID pmem
|
||||
);
|
||||
|
||||
BOOL WINAPI RtlDestroyHeap(HANDLE hheap);
|
||||
LPVOID STDCALL RtlReAllocHeap(HANDLE hheap, DWORD flags, LPVOID ptr,
|
||||
DWORD size);
|
||||
HANDLE WINAPI RtlGetProcessHeap(VOID);
|
||||
BOOL WINAPI RtlLockHeap(HANDLE hheap);
|
||||
BOOL WINAPI RtlUnlockHeap(HANDLE hheap);
|
||||
UINT RtlCompactHeap(HANDLE hheap, DWORD flags);
|
||||
DWORD WINAPI RtlSizeHeap(HANDLE hheap, DWORD flags, PVOID pmem);
|
||||
BOOL WINAPI RtlValidateHeap(HANDLE hheap, DWORD flags, PVOID pmem);
|
||||
BOOL
|
||||
WINAPI
|
||||
RtlValidateHeap (
|
||||
HANDLE hheap,
|
||||
DWORD flags,
|
||||
PVOID pmem
|
||||
);
|
||||
|
||||
/* NtProcessStartup */
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
RtlDestroyProcessParameters(
|
||||
IN OUT PSTARTUP_ARGUMENT pArgument
|
||||
);
|
||||
VOID
|
||||
WINAPI
|
||||
RtlDenormalizeProcessParams (
|
||||
IN OUT PSTARTUP_ARGUMENT pArgument
|
||||
);
|
||||
|
||||
#endif /* __DDK_RTL_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: zw.h,v 1.15 1999/07/13 01:08:47 rex Exp $
|
||||
/* $Id: zw.h,v 1.16 1999/07/17 23:10:15 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -1069,14 +1069,14 @@ ZwCreateSymbolicLinkObject(
|
|||
NTSTATUS
|
||||
STDCALL
|
||||
NtCreateThread(
|
||||
OUT PHANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN HANDLE ProcessHandle,
|
||||
OUT PCLIENT_ID ClientId,
|
||||
IN PCONTEXT ThreadContext,
|
||||
IN PINITIAL_TEB InitialTeb,
|
||||
IN BOOLEAN CreateSuspended
|
||||
OUT PHANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN HANDLE ProcessHandle,
|
||||
OUT PCLIENT_ID ClientId,
|
||||
IN PCONTEXT ThreadContext,
|
||||
IN PINITIAL_TEB InitialTeb,
|
||||
IN BOOLEAN CreateSuspended
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
|
@ -4638,51 +4638,7 @@ ZwSetVolumeInformationFile(
|
|||
PVOID VolumeInformation,
|
||||
ULONG Length
|
||||
);
|
||||
/*
|
||||
* FUNCTION: Shuts the system down
|
||||
* ARGUMENTS:
|
||||
* Action: Specifies the type of shutdown, it can be one of the following values:
|
||||
ShutdownNoReboot, ShutdownReboot, ShutdownPowerOff
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtShutdownSystem(
|
||||
IN SHUTDOWN_ACTION Action
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwShutdownSystem(
|
||||
IN SHUTDOWN_ACTION Action
|
||||
);
|
||||
/*
|
||||
* FUNCTION: Signals an event and wait for it to be signaled again.
|
||||
* ARGUMENTS:
|
||||
* EventHandle = Handle to the event that should be signaled
|
||||
* Alertable = True if the wait is alertable
|
||||
* Time = The time to wait
|
||||
* NumberOfWaitingThreads = Number of waiting threads
|
||||
* RETURNS: Status
|
||||
*/
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSignalAndWaitForSingleObject(
|
||||
IN HANDLE EventHandle,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Time,
|
||||
PULONG NumberOfWaitingThreads OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwSignalAndWaitForSingleObject(
|
||||
IN HANDLE EventHandle,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Time,
|
||||
PULONG NumberOfWaitingThreads OPTIONAL
|
||||
);
|
||||
/* --- PROFILING --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Starts profiling
|
||||
|
@ -4723,29 +4679,7 @@ ZwStopProfile(
|
|||
HANDLE ProfileHandle
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Increments a thread's resume count
|
||||
* ARGUMENTS:
|
||||
* ThreadHandle = Handle to the thread that should be resumed
|
||||
* PreviousSuspendCount = The resulting/previous suspend count.
|
||||
* REMARK:
|
||||
* A thread will be suspended if its suspend count is greater than 0. This procedure maps to
|
||||
* the win32 SuspendThread function. ( documentation about the the suspend count can be found here aswell )
|
||||
* The suspend count is not increased if it is greater than MAXIMUM_SUSPEND_COUNT.
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSuspendThread(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN PULONG PreviousSuspendCount
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwSuspendThread(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN PULONG PreviousSuspendCount
|
||||
);
|
||||
/* --- PROCESS MANAGEMENT --- */
|
||||
|
||||
//--NtSystemDebugControl
|
||||
/*
|
||||
|
@ -4769,39 +4703,9 @@ ZwTerminateProcess(
|
|||
IN HANDLE ProcessHandle ,
|
||||
IN NTSTATUS ExitStatus
|
||||
);
|
||||
/*
|
||||
* FUNCTION: Terminates the execution of a thread.
|
||||
* ARGUMENTS:
|
||||
* ThreadHandle = Handle to the thread
|
||||
* ExitStatus = The exit status of the thread to terminate with.
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtTerminateThread(
|
||||
IN HANDLE ThreadHandle ,
|
||||
IN NTSTATUS ExitStatus
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwTerminateThread(
|
||||
IN HANDLE ThreadHandle ,
|
||||
IN NTSTATUS ExitStatus
|
||||
);
|
||||
/*
|
||||
* FUNCTION: Tests to see if there are any pending alerts for the calling thread
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtTestAlert(
|
||||
VOID
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwTestAlert(
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- DEVICE DRIVER CONTROL --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Unloads a driver.
|
||||
* ARGUMENTS:
|
||||
|
@ -4819,63 +4723,40 @@ ZwUnloadDriver(
|
|||
IN PUNICODE_STRING DriverServiceName
|
||||
);
|
||||
|
||||
//FIXME: NtUnloadKey needs more arguments
|
||||
/*
|
||||
* FUNCTION: Unloads a registry key.
|
||||
* ARGUMENTS:
|
||||
* KeyHandle = Handle to the registry key
|
||||
* REMARK:
|
||||
This procedure maps to the win32 procedure RegUnloadKey
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtUnloadKey(
|
||||
HANDLE KeyHandle
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwUnloadKey(
|
||||
HANDLE KeyHandle
|
||||
);
|
||||
/* --- VIRTUAL MEMORY MANAGEMENT --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Unlocks a range of bytes in a file.
|
||||
* FUNCTION: Writes a range of virtual memory
|
||||
* ARGUMENTS:
|
||||
* FileHandle = Handle to the file
|
||||
* IoStatusBlock = Caller should supply storage for a structure containing
|
||||
* the completion status and information about the requested unlock operation.
|
||||
The information field is set to the number of bytes unlocked.
|
||||
* ByteOffset = Offset to start the range of bytes to unlock
|
||||
* Length = Number of bytes to unlock.
|
||||
* Key = Special value to enable other threads to unlock a file than the
|
||||
thread that locked the file. The key supplied must match with the one obtained
|
||||
in a previous call to NtLockFile.
|
||||
* REMARK:
|
||||
This procedure maps to the win32 procedure UnlockFileEx. STATUS_PENDING is returned if the lock could
|
||||
not be obtained immediately, the device queue is busy and the IRP is queued.
|
||||
* RETURNS: Status [ STATUS_SUCCESS | STATUS_PENDING | STATUS_ACCESS_DENIED | STATUS_INSUFFICIENT_RESOURCES |
|
||||
STATUS_INVALID_PARAMETER | STATUS_INVALID_DEVICE_REQUEST | STATUS_RANGE_NOT_LOCKED ]
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtUnlockFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Lenght,
|
||||
OUT PULONG Key OPTIONAL
|
||||
* ProcessHandle = The handle to the process owning the address space.
|
||||
* BaseAddress = The points to the address to write to
|
||||
* Buffer = Pointer to the buffer to write
|
||||
* NumberOfBytesToWrite = Offset to the upper boundary to write
|
||||
* NumberOfBytesWritten = Total bytes written
|
||||
* REMARKS:
|
||||
* This function maps to the win32 WriteProcessMemory
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtWriteVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG NumberOfBytesToWrite,
|
||||
OUT PULONG NumberOfBytesWritten
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwUnlockFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Lenght,
|
||||
OUT PULONG Key OPTIONAL
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwWriteVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG NumberOfBytesToWrite,
|
||||
OUT PULONG NumberOfBytesWritten
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* FUNCTION: Unlocks a range of virtual memory.
|
||||
* ARGUMENTS:
|
||||
|
@ -4925,6 +4806,37 @@ ZwUnmapViewOfSection(
|
|||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress
|
||||
);
|
||||
|
||||
/* --- OBJECT SYNCHRONIZATION --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Signals an event and wait for it to be signaled again.
|
||||
* ARGUMENTS:
|
||||
* EventHandle = Handle to the event that should be signaled
|
||||
* Alertable = True if the wait is alertable
|
||||
* Time = The time to wait
|
||||
* NumberOfWaitingThreads = Number of waiting threads
|
||||
* RETURNS: Status
|
||||
*/
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSignalAndWaitForSingleObject(
|
||||
IN HANDLE EventHandle,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Time,
|
||||
PULONG NumberOfWaitingThreads OPTIONAL
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwSignalAndWaitForSingleObject(
|
||||
IN HANDLE EventHandle,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Time,
|
||||
PULONG NumberOfWaitingThreads OPTIONAL
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Waits for multiple objects to become signalled.
|
||||
* ARGUMENTS:
|
||||
|
@ -4982,6 +4894,8 @@ ZwWaitForSingleObject (
|
|||
IN PLARGE_INTEGER Time
|
||||
);
|
||||
|
||||
/* --- EVENT PAIR OBJECT --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Waits for the high part of an eventpair to become signalled
|
||||
* ARGUMENTS:
|
||||
|
@ -5013,6 +4927,46 @@ STDCALL
|
|||
ZwWaitLowEventPair(
|
||||
IN HANDLE EventPairHandle
|
||||
);
|
||||
|
||||
/* --- FILE MANAGEMENT --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Unlocks a range of bytes in a file.
|
||||
* ARGUMENTS:
|
||||
* FileHandle = Handle to the file
|
||||
* IoStatusBlock = Caller should supply storage for a structure containing
|
||||
* the completion status and information about the requested unlock operation.
|
||||
The information field is set to the number of bytes unlocked.
|
||||
* ByteOffset = Offset to start the range of bytes to unlock
|
||||
* Length = Number of bytes to unlock.
|
||||
* Key = Special value to enable other threads to unlock a file than the
|
||||
thread that locked the file. The key supplied must match with the one obtained
|
||||
in a previous call to NtLockFile.
|
||||
* REMARK:
|
||||
This procedure maps to the win32 procedure UnlockFileEx. STATUS_PENDING is returned if the lock could
|
||||
not be obtained immediately, the device queue is busy and the IRP is queued.
|
||||
* RETURNS: Status [ STATUS_SUCCESS | STATUS_PENDING | STATUS_ACCESS_DENIED | STATUS_INSUFFICIENT_RESOURCES |
|
||||
STATUS_INVALID_PARAMETER | STATUS_INVALID_DEVICE_REQUEST | STATUS_RANGE_NOT_LOCKED ]
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtUnlockFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Lenght,
|
||||
OUT PULONG Key OPTIONAL
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwUnlockFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Lenght,
|
||||
OUT PULONG Key OPTIONAL
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Writes data to a file
|
||||
* ARGUMENTS:
|
||||
|
@ -5113,37 +5067,67 @@ ZwWriteFileGather(
|
|||
);
|
||||
|
||||
|
||||
/* --- THREAD MANAGEMENT --- */
|
||||
|
||||
/*
|
||||
* FUNCTION: Writes a range of virtual memory
|
||||
* FUNCTION: Increments a thread's resume count
|
||||
* ARGUMENTS:
|
||||
* ProcessHandle = The handle to the process owning the address space.
|
||||
* BaseAddress = The points to the address to write to
|
||||
* Buffer = Pointer to the buffer to write
|
||||
* NumberOfBytesToWrite = Offset to the upper boundary to write
|
||||
* NumberOfBytesWritten = Total bytes written
|
||||
* REMARKS:
|
||||
* This function maps to the win32 WriteProcessMemory
|
||||
* ThreadHandle = Handle to the thread that should be resumed
|
||||
* PreviousSuspendCount = The resulting/previous suspend count.
|
||||
* REMARK:
|
||||
* A thread will be suspended if its suspend count is greater than 0. This procedure maps to
|
||||
* the win32 SuspendThread function. ( documentation about the the suspend count can be found here aswell )
|
||||
* The suspend count is not increased if it is greater than MAXIMUM_SUSPEND_COUNT.
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtWriteVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG NumberOfBytesToWrite,
|
||||
OUT PULONG NumberOfBytesWritten
|
||||
NtSuspendThread(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN PULONG PreviousSuspendCount
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwWriteVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG NumberOfBytesToWrite,
|
||||
OUT PULONG NumberOfBytesWritten
|
||||
ZwSuspendThread(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN PULONG PreviousSuspendCount
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Terminates the execution of a thread.
|
||||
* ARGUMENTS:
|
||||
* ThreadHandle = Handle to the thread
|
||||
* ExitStatus = The exit status of the thread to terminate with.
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtTerminateThread(
|
||||
IN HANDLE ThreadHandle ,
|
||||
IN NTSTATUS ExitStatus
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwTerminateThread(
|
||||
IN HANDLE ThreadHandle ,
|
||||
IN NTSTATUS ExitStatus
|
||||
);
|
||||
/*
|
||||
* FUNCTION: Tests to see if there are any pending alerts for the calling thread
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtTestAlert(
|
||||
VOID
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwTestAlert(
|
||||
VOID
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: Yields the callers thread.
|
||||
* RETURNS: Status
|
||||
|
@ -5200,15 +5184,15 @@ STDCALL
|
|||
NtAcceptConnectPort ( /* @24 */
|
||||
IN HANDLE PortHandle,
|
||||
OUT PHANDLE ConnectedPort,
|
||||
DWORD a2,
|
||||
DWORD a3,
|
||||
DWORD a4,
|
||||
DWORD a5
|
||||
IN DWORD Unknown2,
|
||||
IN DWORD Unknown3,
|
||||
IN DWORD Unknown4,
|
||||
IN DWORD Unknown5
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtCompleteConnectPort ( /* @4 */
|
||||
HANDLE PortHandle
|
||||
IN HANDLE PortHandle
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
|
@ -5307,38 +5291,174 @@ NtWriteRequestData ( /* @24 */
|
|||
);
|
||||
#endif /* ndef PROTO_LPC */
|
||||
|
||||
NTSTATUS STDCALL NtGetPlugPlayEvent(VOID);
|
||||
/* --- REGISTRY --- */
|
||||
|
||||
NTSTATUS STDCALL NtLoadKey2(VOID);
|
||||
//FIXME: NtUnloadKey needs more arguments
|
||||
/*
|
||||
* FUNCTION: Unloads a registry key.
|
||||
* ARGUMENTS:
|
||||
* KeyHandle = Handle to the registry key
|
||||
* REMARK:
|
||||
This procedure maps to the win32 procedure RegUnloadKey
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtUnloadKey(
|
||||
HANDLE KeyHandle
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwUnloadKey(
|
||||
HANDLE KeyHandle
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtLoadKey2 (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- PLUG AND PLAY --- */
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtPlugPlayControl (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtGetPlugPlayEvent (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- NATIONAL LANGUAGE SUPPORT (NLS) --- */
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtQueryDefaultLocale (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSetDefaultLocale (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- POWER MANAGEMENT --- */
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSetSystemPowerState (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- DEBUG SUBSYSTEM --- */
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSystemDebugControl (
|
||||
VOID
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS STDCALL NtPlugPlayControl(VOID);
|
||||
/* --- VIRTUAL DOS MACHINE (VDM) --- */
|
||||
|
||||
NTSTATUS STDCALL NtQueryDefaultLocale(VOID);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtVdmControl (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- WIN32 --- */
|
||||
|
||||
NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtW32Call (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL NtRaiseHardError(VOID);
|
||||
/* --- CHANNELS --- */
|
||||
|
||||
NTSTATUS STDCALL NtSetDefaultLocale(VOID);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtCreateChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtListenChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtOpenChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtReplyWaitSendChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSendWaitReplyChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSetContextChannel (
|
||||
VOID
|
||||
);
|
||||
|
||||
/* --- MISCELLANEA --- */
|
||||
|
||||
//NTSTATUS STDCALL NtSetLdtEntries(VOID);
|
||||
NTSTATUS STDCALL NtSetLdtEntries(PETHREAD Thread,
|
||||
ULONG FirstEntry,
|
||||
PULONG Entries);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtSetLdtEntries (
|
||||
PETHREAD Thread,
|
||||
ULONG FirstEntry,
|
||||
PULONG Entries
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL NtSetSystemPowerState(VOID);
|
||||
/*
|
||||
* FUNCTION: Shuts the system down
|
||||
* ARGUMENTS:
|
||||
* Action: Specifies the type of shutdown, it can be one of the following values:
|
||||
ShutdownNoReboot, ShutdownReboot, ShutdownPowerOff
|
||||
* RETURNS: Status
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtShutdownSystem(
|
||||
IN SHUTDOWN_ACTION Action
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL NtSystemDebugControl(VOID);
|
||||
NTSTATUS STDCALL NtVdmControl(VOID);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ZwShutdownSystem(
|
||||
IN SHUTDOWN_ACTION Action
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtQueryOleDirectoryFile (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtRaiseHardError (
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL NtW32Call(VOID);
|
||||
NTSTATUS STDCALL NtCreateChannel(VOID);
|
||||
NTSTATUS STDCALL NtListenChannel(VOID);
|
||||
NTSTATUS STDCALL NtOpenChannel(VOID);
|
||||
NTSTATUS STDCALL NtReplyWaitSendChannel(VOID);
|
||||
NTSTATUS STDCALL NtSendWaitReplyChannel(VOID);
|
||||
NTSTATUS STDCALL NtSetContextChannel(VOID);
|
||||
|
||||
#endif /* __DDK_ZW_H */
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#define RES_UINT_FV_MINOR 0
|
||||
#define RES_UINT_FV_REVISION 14
|
||||
/* Build number as YYYYMMDD */
|
||||
#define RES_UINT_FV_BUILD 19990618
|
||||
#define RES_UINT_FV_BUILD 19990717
|
||||
|
||||
/* ReactOS Product Version UINTs */
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
|||
#define RES_UINT_PV_MINOR 0
|
||||
#define RES_UINT_PV_REVISION 14
|
||||
/* Build number as YYYYMMDD */
|
||||
#define RES_UINT_PV_BUILD 19990618
|
||||
#define RES_UINT_PV_BUILD 19990606
|
||||
|
||||
/* Common version strings for rc scripts */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: advapi32.def,v 1.2 1999/05/19 16:43:30 ea Exp $
|
||||
; $Id: advapi32.def,v 1.3 1999/07/17 23:10:16 ea Exp $
|
||||
;
|
||||
; advapi32.def
|
||||
;
|
||||
|
@ -8,404 +8,404 @@
|
|||
;
|
||||
LIBRARY advapi32
|
||||
EXPORTS
|
||||
AbortSystemShutdownA = AbortSystemShutdownA@4
|
||||
AbortSystemShutdownW = AbortSystemShutdownW@4
|
||||
AccessCheck = AccessCheck@32
|
||||
AccessCheckAndAuditAlarmA = AccessCheckAndAuditAlarmA@44
|
||||
AccessCheckAndAuditAlarmW = AccessCheckAndAuditAlarmW@44
|
||||
AddAccessAllowedAce = AddAccessAllowedAce@16
|
||||
AddAccessDeniedAce = AddAccessDeniedAce@16
|
||||
AddAce = AddAce@20
|
||||
AddAuditAccessAce = AddAuditAccessAce@24
|
||||
AdjustTokenGroups = AdjustTokenGroups@24
|
||||
AdjustTokenPrivileges = AdjustTokenPrivileges@24
|
||||
AllocateAndInitializeSid = AllocateAndInitializeSid@44
|
||||
AllocateLocallyUniqueId = AllocateLocallyUniqueId@4
|
||||
AreAllAccessesGranted = AreAllAccessesGranted@8
|
||||
AreAnyAccessesGranted = AreAnyAccessesGranted@8
|
||||
BackupEventLogA = BackupEventLogA@8
|
||||
BackupEventLogW = BackupEventLogW@8
|
||||
BuildAccessRequestA =
|
||||
BuildAccessRequestW =
|
||||
BuildExplicitAccessWithNameA = BuildExplicitAccessWithNameA@20
|
||||
BuildExplicitAccessWithNameW = BuildExplicitAccessWithNameW@20
|
||||
BuildImpersonateExplicitAccessWithNameA =
|
||||
BuildImpersonateExplicitAccessWithNameW =
|
||||
BuildImpersonateTrusteeA =
|
||||
BuildImpersonateTrusteeW =
|
||||
BuildSecurityDescriptorA = BuildSecurityDescriptorA@36
|
||||
BuildSecurityDescriptorW = BuildSecurityDescriptorW@36
|
||||
BuildTrusteeWithNameA = BuildTrusteeWithNameA@8
|
||||
BuildTrusteeWithNameW = BuildTrusteeWithNameW@8
|
||||
BuildTrusteeWithSidA = BuildTrusteeWithSidA@8
|
||||
BuildTrusteeWithSidW = BuildTrusteeWithSidW@8
|
||||
ChangeServiceConfigA = ChangeServiceConfigA@44
|
||||
ChangeServiceConfigW = ChangeServiceConfigW@44
|
||||
ClearEventLogA = ClearEventLogA@8
|
||||
ClearEventLogW = ClearEventLogW@8
|
||||
CloseEventLog = ClearEventLogA@8
|
||||
CloseServiceHandle = CloseServiceHandle@4
|
||||
ControlService = ControlService@12
|
||||
CopySid = CopySid@12
|
||||
CreatePrivateObjectSecurity = CreatePrivateObjectSecurity@24
|
||||
CreateProcessAsUserA = CreateProcessAsUserA@44
|
||||
CreateProcessAsUserW = CreateProcessAsUserW@44
|
||||
CreateServiceA = CreateServiceA@52
|
||||
CreateServiceW = CreateServiceW@52
|
||||
CryptAcquireContextA = CryptAcquireContextA@20
|
||||
CryptAcquireContextW = CryptAcquireContextW@20
|
||||
CryptCreateHash = CryptCreateHash@20
|
||||
CryptDecrypt = CryptDecrypt@24
|
||||
CryptDeriveKey = CryptDeriveKey@20
|
||||
CryptDestroyHash = CryptDestroyHash@4
|
||||
CryptDestroyKey = CryptDestroyKey@4
|
||||
CryptEncrypt = CryptEncrypt@28
|
||||
CryptExportKey = CryptExportKey@24
|
||||
CryptGenKey = CryptGenKey@16
|
||||
CryptGenRandom = CryptGenRandom@12
|
||||
CryptGetHashParam = CryptGetHashParam@20
|
||||
CryptGetKeyParam = CryptGetKeyParam@20
|
||||
CryptGetProvParam = CryptGetProvParam@20
|
||||
CryptGetUserKey = CryptGetUserKey@12
|
||||
CryptHashData = CryptHashData@16
|
||||
CryptHashSessionKey = CryptHashSessionKey@12
|
||||
CryptImportKey = CryptImportKey@24
|
||||
CryptReleaseContext = CryptReleaseContext@8
|
||||
CryptSetHashParam = CryptSetHashParam@16
|
||||
CryptSetKeyParam = CryptSetKeyParam@16
|
||||
CryptSetProvParam = CryptSetProvParam@16
|
||||
CryptSetProviderA = CryptSetProviderA@8
|
||||
CryptSetProviderW = CryptSetProviderW@8
|
||||
CryptSignHashA = CryptSignHashA@24
|
||||
CryptSignHashW = CryptSignHashW@24
|
||||
CryptVerifySignatureA = CryptVerifySignatureA@24
|
||||
CryptVerifySignatureW = CryptVerifySignatureW@24
|
||||
DeleteAce = DeleteAce@8
|
||||
DeleteService = DeleteService@4
|
||||
DenyAccessRightsA =
|
||||
DenyAccessRightsW =
|
||||
DeregisterEventSource = DeregisterEventSource@4
|
||||
DestroyPrivateObjectSecurity = DestroyPrivateObjectSecurity@4
|
||||
DuplicateToken = DuplicateToken@12
|
||||
DuplicateTokenEx = DuplicateTokenEx@24
|
||||
ElfBackupEventLogFileA = ElfBackupEventLogFileA@8
|
||||
ElfBackupEventLogFileW = ElfBackupEventLogFileW@8
|
||||
ElfChangeNotify = ElfChangeNotify@8
|
||||
ElfClearEventLogFileA = ElfClearEventLogFileA@8
|
||||
ElfClearEventLogFileW = ElfClearEventLogFileW@8
|
||||
ElfCloseEventLog = ElfCloseEventLog@4
|
||||
ElfDeregisterEventSource = ElfDeregisterEventSource@4
|
||||
ElfNumberOfRecords = ElfNumberOfRecords@8
|
||||
ElfOldestRecord = ElfOldestRecord@8
|
||||
ElfOpenBackupEventLogA = ElfOpenBackupEventLogA@12
|
||||
ElfOpenBackupEventLogW = ElfOpenBackupEventLogW@12
|
||||
ElfOpenEventLogA = ElfOpenEventLogA@12
|
||||
ElfOpenEventLogW = ElfOpenEventLogW@12
|
||||
ElfReadEventLogA = ElfReadEventLogA@28
|
||||
ElfReadEventLogW = ElfReadEventLogW@28
|
||||
ElfRegisterEventSourceA = ElfRegisterEventSourceA@12
|
||||
ElfRegisterEventSourceW = ElfRegisterEventSourceW@12
|
||||
ElfReportEventA = ElfReportEventA@48
|
||||
ElfReportEventW = ElfReportEventW@48
|
||||
EnumDependentServicesA = EnumDependentServicesA@24
|
||||
EnumDependentServicesW = EnumDependentServicesW@24
|
||||
EnumServiceGroupW =
|
||||
EnumServicesStatusA = EnumServicesStatusA@32
|
||||
EnumServicesStatusW = EnumServicesStatusW@32
|
||||
EqualPrefixSid = EqualPrefixSid@8
|
||||
EqualSid = EqualSid@8
|
||||
FindFirstFreeAce = FindFirstFreeAce@8
|
||||
FreeSid = FreeSid@4
|
||||
GetAce = GetAce@12
|
||||
GetAclInformation = GetAclInformation@16
|
||||
GetAuditedPermissionsFromAclA =
|
||||
GetAuditedPermissionsFromAclW =
|
||||
GetAuditedPermissionsFromSDA =
|
||||
GetAuditedPermissionsFromSDW =
|
||||
GetCurrentHwProfileA =
|
||||
GetCurrentHwProfileW =
|
||||
GetEffectiveAccessRightsA =
|
||||
GetEffectiveAccessRightsW =
|
||||
GetEffectiveRightsFromAclA =
|
||||
GetEffectiveRightsFromAclW =
|
||||
GetEffectiveRightsFromSDA =
|
||||
GetEffectiveRightsFromSDW =
|
||||
GetExplicitAccessRightsA =
|
||||
GetExplicitAccessRightsW =
|
||||
GetExplicitEntriesFromAclA =
|
||||
GetExplicitEntriesFromAclW =
|
||||
GetFileSecurityA = GetFileSecurityA@20
|
||||
GetFileSecurityW = GetFileSecurityW@20
|
||||
GetKernelObjectSecurity = GetKernelObjectSecurity@20
|
||||
GetLengthSid = GetLengthSid@4
|
||||
GetMultipleTrusteeA =
|
||||
GetMultipleTrusteeOperationA =
|
||||
GetMultipleTrusteeOperationW =
|
||||
GetMultipleTrusteeW =
|
||||
GetNamedSecurityInfoA = GetNamedSecurityInfoA@32
|
||||
GetNamedSecurityInfoW = GetNamedSecurityInfoW@32
|
||||
GetNumberOfEventLogRecords = GetNumberOfEventLogRecords@8
|
||||
GetOldestEventLogRecord = GetOldestEventLogRecord@8
|
||||
GetPrivateObjectSecurity = GetPrivateObjectSecurity@20
|
||||
GetSecurityDescriptorControl = GetSecurityDescriptorControl@12
|
||||
GetSecurityDescriptorDacl = GetSecurityDescriptorDacl@16
|
||||
GetSecurityDescriptorGroup = GetSecurityDescriptorGroup@12
|
||||
GetSecurityDescriptorLength = GetSecurityDescriptorLength@4
|
||||
GetSecurityDescriptorOwner = GetSecurityDescriptorOwner@12
|
||||
GetSecurityDescriptorSacl = GetSecurityDescriptorSacl@16
|
||||
GetSecurityInfo = GetSecurityInfo@32
|
||||
GetServiceDisplayNameA = GetServiceDisplayNameA@16
|
||||
GetServiceDisplayNameW = GetServiceDisplayNameW@16
|
||||
GetServiceKeyNameA = GetServiceKeyNameA@16
|
||||
GetServiceKeyNameW = GetServiceKeyNameW@16
|
||||
GetSidIdentifierAuthority = GetSidIdentifierAuthority@4
|
||||
GetSidLengthRequired = GetSidLengthRequired@4
|
||||
GetSidSubAuthority = GetSidSubAuthority@8
|
||||
GetSidSubAuthorityCount = GetSidSubAuthorityCount@4
|
||||
GetTokenInformation = GetTokenInformation@20
|
||||
GetTrusteeForm = GetTrusteeForm@4
|
||||
GetTrusteeNameA = GetTrusteeNameA@4
|
||||
GetTrusteeNameW = GetTrusteeNameW@4
|
||||
GetTrusteeTypeA = GetTrusteeTypeA@4
|
||||
GetTrusteeTypeW = GetTrusteeTypeW@4
|
||||
GetUserNameA = GetUserNameA@8
|
||||
GetUserNameW = GetUserNameW@8
|
||||
GrantAccessRightsA =
|
||||
GrantAccessRightsW =
|
||||
I_ScGetCurrentGroupStateW =
|
||||
I_ScSetServiceBitsA = I_ScSetServiceBitsA@20
|
||||
I_ScSetServiceBitsW = I_ScSetServiceBitsW@20
|
||||
ImpersonateLoggedOnUser = ImpersonateLoggedOnUser@4
|
||||
ImpersonateNamedPipeClient = ImpersonateNamedPipeClient@4
|
||||
ImpersonateSelf = ImpersonateSelf@4
|
||||
InitializeAcl = InitializeAcl@12
|
||||
InitializeSecurityDescriptor = InitializeSecurityDescriptor@8
|
||||
InitializeSid = InitializeSid@12
|
||||
InitiateSystemShutdownA = InitiateSystemShutdownA@20
|
||||
InitiateSystemShutdownW = InitiateSystemShutdownW@20
|
||||
IsAccessPermittedA =
|
||||
IsAccessPermittedW =
|
||||
IsTextUnicode = IsTextUnicode@12
|
||||
IsValidAcl = IsValidAcl@4
|
||||
IsValidSecurityDescriptor = IsValidSecurityDescriptor@4
|
||||
IsValidSid = IsValidSid@4
|
||||
LockServiceDatabase = LockServiceDatabase@4
|
||||
LogonUserA = LogonUserA@24
|
||||
LogonUserW = LogonUserW@24
|
||||
LookupAccountNameA = LookupAccountNameA@28
|
||||
LookupAccountNameW = LookupAccountNameW@28
|
||||
LookupAccountSidA = LookupAccountSidA@28
|
||||
LookupAccountSidW = LookupAccountSidW@28
|
||||
LookupPrivilegeDisplayNameA = LookupPrivilegeDisplayNameA@20
|
||||
LookupPrivilegeDisplayNameW = LookupPrivilegeDisplayNameW@20
|
||||
LookupPrivilegeNameA = LookupPrivilegeNameA@16
|
||||
LookupPrivilegeNameW = LookupPrivilegeNameW@16
|
||||
LookupPrivilegeValueA = LookupPrivilegeValueA@12
|
||||
LookupPrivilegeValueW = LookupPrivilegeValueW@12
|
||||
LookupSecurityDescriptorPartsA = LookupSecurityDescriptorPartsA@28
|
||||
LookupSecurityDescriptorPartsW = LookupSecurityDescriptorPartsW@28
|
||||
LsaAddAccountRights = LsaAddAccountRights@16
|
||||
LsaAddPrivilegesToAccount = LsaAddPrivilegesToAccount@8
|
||||
LsaClearAuditLog = LsaClearAuditLog@4
|
||||
LsaClose = LsaClose@4
|
||||
LsaCreateAccount = LsaCreateAccount@16
|
||||
LsaCreateSecret = LsaCreateSecret@16
|
||||
LsaCreateTrustedDomain = LsaCreateTrustedDomain@16
|
||||
LsaDelete = LsaDelete@4
|
||||
LsaDeleteTrustedDomain = LsaDeleteTrustedDomain@8
|
||||
LsaEnumerateAccountRights = LsaEnumerateAccountRights@16
|
||||
LsaEnumerateAccounts = LsaEnumerateAccounts@20
|
||||
LsaEnumerateAccountsWithUserRight = LsaEnumerateAccountsWithUserRight@16
|
||||
LsaEnumeratePrivileges = LsaEnumeratePrivileges@20
|
||||
LsaEnumeratePrivilegesOfAccount = LsaEnumeratePrivilegesOfAccount@8
|
||||
LsaEnumerateTrustedDomains = LsaEnumerateTrustedDomains@20
|
||||
LsaFreeMemory = LsaFreeMemory@4
|
||||
LsaGetQuotasForAccount = LsaGetQuotasForAccount@8
|
||||
LsaGetSystemAccessAccount = LsaGetSystemAccessAccount@8
|
||||
LsaGetUserName =
|
||||
LsaICLookupNames = LsaICLookupNames@28
|
||||
LsaICLookupSids = LsaICLookupSids@28
|
||||
LsaLookupNames = LsaLookupNames@20
|
||||
LsaLookupPrivilegeDisplayName = LsaLookupPrivilegeDisplayName@16
|
||||
LsaLookupPrivilegeName = LsaLookupPrivilegeName@12
|
||||
LsaLookupPrivilegeValue = LsaLookupPrivilegeValue@12
|
||||
LsaLookupSids = LsaLookupSids@20
|
||||
LsaNtStatusToWinError = LsaNtStatusToWinError@4
|
||||
LsaOpenAccount = LsaOpenAccount@16
|
||||
LsaOpenPolicy = LsaOpenPolicy@16
|
||||
LsaOpenSecret = LsaOpenSecret@16
|
||||
LsaOpenTrustedDomain = LsaOpenTrustedDomain@16
|
||||
LsaQueryInfoTrustedDomain = LsaQueryInfoTrustedDomain@12
|
||||
LsaQueryInformationPolicy = LsaQueryInformationPolicy@12
|
||||
LsaQuerySecret = LsaQuerySecret@20
|
||||
LsaQuerySecurityObject = LsaQuerySecurityObject@12
|
||||
LsaQueryTrustedDomainInfo = LsaQueryTrustedDomainInfo@16
|
||||
LsaRemoveAccountRights = LsaRemoveAccountRights@20
|
||||
LsaRemovePrivilegesFromAccount = LsaRemovePrivilegesFromAccount@12
|
||||
LsaRetrievePrivateData = LsaRetrievePrivateData@12
|
||||
LsaSetInformationPolicy = LsaSetInformationPolicy@12
|
||||
LsaSetInformationTrustedDomain = LsaSetInformationTrustedDomain@12
|
||||
LsaSetQuotasForAccount = LsaSetQuotasForAccount@8
|
||||
LsaSetSecret = LsaSetSecret@12
|
||||
LsaSetSecurityObject = LsaSetSecurityObject@12
|
||||
LsaSetSystemAccessAccount = LsaSetSystemAccessAccount@8
|
||||
LsaSetTrustedDomainInformation = LsaSetTrustedDomainInformation@16
|
||||
LsaStorePrivateData = LsaStorePrivateData@12
|
||||
MakeAbsoluteSD = MakeAbsoluteSD@44
|
||||
MakeSelfRelativeSD = MakeSelfRelativeSD@12
|
||||
MapGenericMask = MapGenericMask@8
|
||||
NTAccessMaskToProvAccessRights =
|
||||
NotifyBootConfigStatus = NotifyBootConfigStatus@4
|
||||
NotifyChangeEventLog = NotifyChangeEventLog@8
|
||||
ObjectCloseAuditAlarmA = ObjectCloseAuditAlarmA@12
|
||||
ObjectCloseAuditAlarmW = ObjectCloseAuditAlarmW@12
|
||||
ObjectDeleteAuditAlarmA = ObjectDeleteAuditAlarmA@12
|
||||
ObjectDeleteAuditAlarmW = ObjectDeleteAuditAlarmW@12
|
||||
ObjectOpenAuditAlarmA = ObjectOpenAuditAlarmA@48
|
||||
ObjectOpenAuditAlarmW = ObjectOpenAuditAlarmW@48
|
||||
ObjectPrivilegeAuditAlarmA = ObjectPrivilegeAuditAlarmA@24
|
||||
ObjectPrivilegeAuditAlarmW = ObjectPrivilegeAuditAlarmW@24
|
||||
OpenBackupEventLogA = OpenBackupEventLogA@8
|
||||
OpenBackupEventLogW = OpenBackupEventLogW@8
|
||||
OpenEventLogA = OpenEventLogA@8
|
||||
OpenEventLogW = OpenEventLogW@8
|
||||
OpenProcessToken = OpenProcessToken@12
|
||||
OpenSCManagerA = OpenSCManagerA@12
|
||||
OpenSCManagerW = OpenSCManagerW@12
|
||||
OpenServiceA = OpenServiceA@12
|
||||
OpenServiceW = OpenServiceW@12
|
||||
OpenThreadToken = OpenThreadToken@16
|
||||
PrivilegeCheck = PrivilegeCheck@12
|
||||
PrivilegedServiceAuditAlarmA = PrivilegedServiceAuditAlarmA@20
|
||||
PrivilegedServiceAuditAlarmW = PrivilegedServiceAuditAlarmW@20
|
||||
ProvAccessRightsToNTAccessMask =
|
||||
QueryServiceConfigA = QueryServiceConfigA@16
|
||||
QueryServiceConfigW = QueryServiceConfigW@16
|
||||
QueryServiceLockStatusA = QueryServiceLockStatusA@16
|
||||
QueryServiceLockStatusW = QueryServiceLockStatusW@16
|
||||
QueryServiceObjectSecurity = QueryServiceObjectSecurity@20
|
||||
QueryServiceStatus = QueryServiceStatus@8
|
||||
QueryWindows31FilesMigration = QueryWindows31FilesMigration@4
|
||||
ReadEventLogA = ReadEventLogA@28
|
||||
ReadEventLogW = ReadEventLogW@28
|
||||
RegCloseKey = RegCloseKey@4
|
||||
RegConnectRegistryA = RegConnectRegistryA@12
|
||||
RegConnectRegistryW = RegConnectRegistryW@12
|
||||
RegCreateKeyA = RegCreateKeyA@12
|
||||
RegCreateKeyExA = RegCreateKeyExA@36
|
||||
RegCreateKeyExW = RegCreateKeyExW@36
|
||||
RegCreateKeyW = RegCreateKeyW@12
|
||||
RegDeleteKeyA = RegDeleteKeyA@8
|
||||
RegDeleteKeyW = RegDeleteKeyW@8
|
||||
RegDeleteValueA = RegDeleteValueA@8
|
||||
RegDeleteValueW = RegDeleteValueW@8
|
||||
RegEnumKeyA = RegEnumKeyA@16
|
||||
RegEnumKeyExA = RegEnumKeyExA@32
|
||||
RegEnumKeyExW = RegEnumKeyExW@32
|
||||
RegEnumKeyW = RegEnumKeyW@16
|
||||
RegEnumValueA = RegEnumValueA@32
|
||||
RegEnumValueW = RegEnumValueW@32
|
||||
RegFlushKey = RegFlushKey@4
|
||||
RegGetKeySecurity = RegGetKeySecurity@16
|
||||
RegLoadKeyA = RegLoadKeyA@12
|
||||
RegLoadKeyW = RegLoadKeyW@12
|
||||
RegNotifyChangeKeyValue = RegNotifyChangeKeyValue@20
|
||||
RegOpenKeyA = RegOpenKeyA@12
|
||||
RegOpenKeyExA = RegOpenKeyExA@20
|
||||
RegOpenKeyExW = RegOpenKeyExW@20
|
||||
RegOpenKeyW = RegOpenKeyW@12
|
||||
RegQueryInfoKeyA = RegQueryInfoKeyA@48
|
||||
RegQueryInfoKeyW = RegQueryInfoKeyW@48
|
||||
RegQueryMultipleValuesA = RegQueryMultipleValuesA@20
|
||||
RegQueryMultipleValuesW = RegQueryMultipleValuesW@20
|
||||
RegQueryValueA = RegQueryValueA@16
|
||||
RegQueryValueExA = RegQueryValueExA@24
|
||||
RegQueryValueExW = RegQueryValueExW@24
|
||||
RegQueryValueW = RegQueryValueW@16
|
||||
RegReplaceKeyA = RegReplaceKeyA@16
|
||||
RegReplaceKeyW = RegReplaceKeyW@16
|
||||
RegRestoreKeyA = RegRestoreKeyA@12
|
||||
RegRestoreKeyW = RegRestoreKeyW@12
|
||||
RegSaveKeyA = RegSaveKeyA@12
|
||||
RegSaveKeyW = RegSaveKeyW@12
|
||||
RegSetKeySecurity = RegSetKeySecurity@12
|
||||
RegSetValueA = RegSetValueA@20
|
||||
RegSetValueExA = RegSetValueExA@24
|
||||
RegSetValueExW = RegSetValueExW@24
|
||||
RegSetValueW = RegSetValueW@20
|
||||
RegUnLoadKeyA = RegUnLoadKeyA@8
|
||||
RegUnLoadKeyW = RegUnLoadKeyW@8
|
||||
RegisterEventSourceA = RegisterEventSourceA@8
|
||||
RegisterEventSourceW = RegisterEventSourceW@8
|
||||
RegisterServiceCtrlHandlerA = RegisterServiceCtrlHandlerA@8
|
||||
RegisterServiceCtrlHandlerW = RegisterServiceCtrlHandlerW@8
|
||||
ReplaceAllAccessRightsA =
|
||||
ReplaceAllAccessRightsW =
|
||||
ReportEventA = ReportEventA@36
|
||||
ReportEventW = ReportEventW@36
|
||||
RevertToSelf = RevertToSelf@0
|
||||
RevokeExplicitAccessRightsA =
|
||||
RevokeExplicitAccessRightsW =
|
||||
SetAccessRightsA =
|
||||
SetAccessRightsW =
|
||||
SetAclInformation = SetAclInformation@16
|
||||
SetEntriesInAclA = SetEntriesInAclA@16
|
||||
SetEntriesInAclW = SetEntriesInAclA@16
|
||||
SetFileSecurityA = SetFileSecurityA@12
|
||||
SetFileSecurityW = SetFileSecurityW@12
|
||||
SetKernelObjectSecurity = SetKernelObjectSecurity@12
|
||||
SetNamedSecurityInfoA = SetNamedSecurityInfoA@28
|
||||
SetNamedSecurityInfoW = SetNamedSecurityInfoW@28
|
||||
SetPrivateObjectSecurity = SetPrivateObjectSecurity@20
|
||||
SetSecurityDescriptorDacl = SetSecurityDescriptorDacl@16
|
||||
SetSecurityDescriptorGroup = SetSecurityDescriptorGroup@12
|
||||
SetSecurityDescriptorOwner = SetSecurityDescriptorOwner@12
|
||||
SetSecurityDescriptorSacl = SetSecurityDescriptorSacl@16
|
||||
SetSecurityInfo = SetSecurityInfo@28
|
||||
SetServiceBits = SetServiceBits@16
|
||||
SetServiceObjectSecurity = SetServiceObjectSecurity@12
|
||||
SetServiceStatus = SetServiceStatus@8
|
||||
SetThreadToken = SetThreadToken@8
|
||||
SetTokenInformation = SetTokenInformation@16
|
||||
StartServiceA = StartServiceA@12
|
||||
StartServiceCtrlDispatcherA = StartServiceCtrlDispatcherA@4
|
||||
StartServiceCtrlDispatcherW = StartServiceCtrlDispatcherW@4
|
||||
StartServiceW = StartServiceW@12
|
||||
SynchronizeWindows31FilesAndWindowsNTRegistry = SynchronizeWindows31FilesAndWindowsNTRegistry@16
|
||||
SystemFunction001 = SystemFunction001@12
|
||||
SystemFunction002 = SystemFunction002@12
|
||||
SystemFunction003 = SystemFunction003@8
|
||||
SystemFunction004 = SystemFunction004@12
|
||||
SystemFunction005 = SystemFunction005@12
|
||||
SystemFunction006 = SystemFunction006@8
|
||||
SystemFunction007 = SystemFunction007@8
|
||||
SystemFunction008 = SystemFunction008@12
|
||||
SystemFunction009 = SystemFunction009@12
|
||||
SystemFunction010 = SystemFunction010@12
|
||||
SystemFunction011 = SystemFunction011@12
|
||||
SystemFunction012 = SystemFunction012@12
|
||||
SystemFunction013 = SystemFunction013@12
|
||||
SystemFunction014 = SystemFunction014@12
|
||||
SystemFunction015 = SystemFunction015@12
|
||||
SystemFunction016 = SystemFunction016@12
|
||||
SystemFunction017 = SystemFunction017@12
|
||||
SystemFunction018 = SystemFunction018@12
|
||||
SystemFunction019 = SystemFunction019@12
|
||||
SystemFunction020 = SystemFunction020@12
|
||||
SystemFunction021 = SystemFunction021@12
|
||||
SystemFunction022 = SystemFunction022@12
|
||||
SystemFunction023 = SystemFunction023@12
|
||||
SystemFunction024 = SystemFunction024@12
|
||||
SystemFunction025 = SystemFunction025@12
|
||||
SystemFunction026 = SystemFunction026@12
|
||||
SystemFunction027 = SystemFunction027@12
|
||||
SystemFunction028 = SystemFunction028@8
|
||||
SystemFunction029 = SystemFunction029@8
|
||||
SystemFunction030 = SystemFunction030@8
|
||||
SystemFunction031 = SystemFunction031@8
|
||||
SystemFunction032 = SystemFunction032@8
|
||||
SystemFunction033 = SystemFunction033@8
|
||||
UnlockServiceDatabase = UnlockServiceDatabase@4
|
||||
WinLoadTrustProvider = WinLoadTrustProvider@4
|
||||
WinSubmitCertificate = WinSubmitCertificate@4
|
||||
WinVerifyTrust = WinVerifyTrust@12
|
||||
AbortSystemShutdownA@4
|
||||
AbortSystemShutdownW@4
|
||||
AccessCheck@32
|
||||
AccessCheckAndAuditAlarmA@44
|
||||
AccessCheckAndAuditAlarmW@44
|
||||
AddAccessAllowedAce@16
|
||||
AddAccessDeniedAce@16
|
||||
AddAce@20
|
||||
AddAuditAccessAce@24
|
||||
AdjustTokenGroups@24
|
||||
AdjustTokenPrivileges@24
|
||||
AllocateAndInitializeSid@44
|
||||
AllocateLocallyUniqueId@4
|
||||
AreAllAccessesGranted@8
|
||||
AreAnyAccessesGranted@8
|
||||
BackupEventLogA@8
|
||||
BackupEventLogW@8
|
||||
BuildAccessRequestA
|
||||
BuildAccessRequestW
|
||||
BuildExplicitAccessWithNameA@20
|
||||
BuildExplicitAccessWithNameW@20
|
||||
BuildImpersonateExplicitAccessWithNameA
|
||||
BuildImpersonateExplicitAccessWithNameW
|
||||
BuildImpersonateTrusteeA
|
||||
BuildImpersonateTrusteeW
|
||||
BuildSecurityDescriptorA@36
|
||||
BuildSecurityDescriptorW@36
|
||||
BuildTrusteeWithNameA@8
|
||||
BuildTrusteeWithNameW@8
|
||||
BuildTrusteeWithSidA@8
|
||||
BuildTrusteeWithSidW@8
|
||||
ChangeServiceConfigA@44
|
||||
ChangeServiceConfigW@44
|
||||
ClearEventLogA@8
|
||||
ClearEventLogW@8
|
||||
ClearEventLogA@8
|
||||
CloseServiceHandle@4
|
||||
ControlService@12
|
||||
CopySid@12
|
||||
CreatePrivateObjectSecurity@24
|
||||
CreateProcessAsUserA@44
|
||||
CreateProcessAsUserW@44
|
||||
CreateServiceA@52
|
||||
CreateServiceW@52
|
||||
CryptAcquireContextA@20
|
||||
CryptAcquireContextW@20
|
||||
CryptCreateHash@20
|
||||
CryptDecrypt@24
|
||||
CryptDeriveKey@20
|
||||
CryptDestroyHash@4
|
||||
CryptDestroyKey@4
|
||||
CryptEncrypt@28
|
||||
CryptExportKey@24
|
||||
CryptGenKey@16
|
||||
CryptGenRandom@12
|
||||
CryptGetHashParam@20
|
||||
CryptGetKeyParam@20
|
||||
CryptGetProvParam@20
|
||||
CryptGetUserKey@12
|
||||
CryptHashData@16
|
||||
CryptHashSessionKey@12
|
||||
CryptImportKey@24
|
||||
CryptReleaseContext@8
|
||||
CryptSetHashParam@16
|
||||
CryptSetKeyParam@16
|
||||
CryptSetProvParam@16
|
||||
CryptSetProviderA@8
|
||||
CryptSetProviderW@8
|
||||
CryptSignHashA@24
|
||||
CryptSignHashW@24
|
||||
CryptVerifySignatureA@24
|
||||
CryptVerifySignatureW@24
|
||||
DeleteAce@8
|
||||
DeleteService@4
|
||||
DenyAccessRightsA
|
||||
DenyAccessRightsW
|
||||
DeregisterEventSource@4
|
||||
DestroyPrivateObjectSecurity@4
|
||||
DuplicateToken@12
|
||||
DuplicateTokenEx@24
|
||||
ElfBackupEventLogFileA@8
|
||||
ElfBackupEventLogFileW@8
|
||||
ElfChangeNotify@8
|
||||
ElfClearEventLogFileA@8
|
||||
ElfClearEventLogFileW@8
|
||||
ElfCloseEventLog@4
|
||||
ElfDeregisterEventSource@4
|
||||
ElfNumberOfRecords@8
|
||||
ElfOldestRecord@8
|
||||
ElfOpenBackupEventLogA@12
|
||||
ElfOpenBackupEventLogW@12
|
||||
ElfOpenEventLogA@12
|
||||
ElfOpenEventLogW@12
|
||||
ElfReadEventLogA@28
|
||||
ElfReadEventLogW@28
|
||||
ElfRegisterEventSourceA@12
|
||||
ElfRegisterEventSourceW@12
|
||||
ElfReportEventA@48
|
||||
ElfReportEventW@48
|
||||
EnumDependentServicesA@24
|
||||
EnumDependentServicesW@24
|
||||
EnumServiceGroupW
|
||||
EnumServicesStatusA@32
|
||||
EnumServicesStatusW@32
|
||||
EqualPrefixSid@8
|
||||
EqualSid@8
|
||||
FindFirstFreeAce@8
|
||||
FreeSid@4
|
||||
GetAce@12
|
||||
GetAclInformation@16
|
||||
GetAuditedPermissionsFromAclA
|
||||
GetAuditedPermissionsFromAclW
|
||||
GetAuditedPermissionsFromSDA
|
||||
GetAuditedPermissionsFromSDW
|
||||
GetCurrentHwProfileA
|
||||
GetCurrentHwProfileW
|
||||
GetEffectiveAccessRightsA
|
||||
GetEffectiveAccessRightsW
|
||||
GetEffectiveRightsFromAclA
|
||||
GetEffectiveRightsFromAclW
|
||||
GetEffectiveRightsFromSDA
|
||||
GetEffectiveRightsFromSDW
|
||||
GetExplicitAccessRightsA
|
||||
GetExplicitAccessRightsW
|
||||
GetExplicitEntriesFromAclA
|
||||
GetExplicitEntriesFromAclW
|
||||
GetFileSecurityA@20
|
||||
GetFileSecurityW@20
|
||||
GetKernelObjectSecurity@20
|
||||
GetLengthSid@4
|
||||
GetMultipleTrusteeA
|
||||
GetMultipleTrusteeOperationA
|
||||
GetMultipleTrusteeOperationW
|
||||
GetMultipleTrusteeW
|
||||
GetNamedSecurityInfoA@32
|
||||
GetNamedSecurityInfoW@32
|
||||
GetNumberOfEventLogRecords@8
|
||||
GetOldestEventLogRecord@8
|
||||
GetPrivateObjectSecurity@20
|
||||
GetSecurityDescriptorControl@12
|
||||
GetSecurityDescriptorDacl@16
|
||||
GetSecurityDescriptorGroup@12
|
||||
GetSecurityDescriptorLength@4
|
||||
GetSecurityDescriptorOwner@12
|
||||
GetSecurityDescriptorSacl@16
|
||||
GetSecurityInfo@32
|
||||
GetServiceDisplayNameA@16
|
||||
GetServiceDisplayNameW@16
|
||||
GetServiceKeyNameA@16
|
||||
GetServiceKeyNameW@16
|
||||
GetSidIdentifierAuthority@4
|
||||
GetSidLengthRequired@4
|
||||
GetSidSubAuthority@8
|
||||
GetSidSubAuthorityCount@4
|
||||
GetTokenInformation@20
|
||||
GetTrusteeForm@4
|
||||
GetTrusteeNameA@4
|
||||
GetTrusteeNameW@4
|
||||
GetTrusteeTypeA@4
|
||||
GetTrusteeTypeW@4
|
||||
GetUserNameA@8
|
||||
GetUserNameW@8
|
||||
GrantAccessRightsA
|
||||
GrantAccessRightsW
|
||||
I_ScGetCurrentGroupStateW
|
||||
I_ScSetServiceBitsA@20
|
||||
I_ScSetServiceBitsW@20
|
||||
ImpersonateLoggedOnUser@4
|
||||
ImpersonateNamedPipeClient@4
|
||||
ImpersonateSelf@4
|
||||
InitializeAcl@12
|
||||
InitializeSecurityDescriptor@8
|
||||
InitializeSid@12
|
||||
InitiateSystemShutdownA@20
|
||||
InitiateSystemShutdownW@20
|
||||
IsAccessPermittedA
|
||||
IsAccessPermittedW
|
||||
IsTextUnicode@12
|
||||
IsValidAcl@4
|
||||
IsValidSecurityDescriptor@4
|
||||
IsValidSid@4
|
||||
LockServiceDatabase@4
|
||||
LogonUserA@24
|
||||
LogonUserW@24
|
||||
LookupAccountNameA@28
|
||||
LookupAccountNameW@28
|
||||
LookupAccountSidA@28
|
||||
LookupAccountSidW@28
|
||||
LookupPrivilegeDisplayNameA@20
|
||||
LookupPrivilegeDisplayNameW@20
|
||||
LookupPrivilegeNameA@16
|
||||
LookupPrivilegeNameW@16
|
||||
LookupPrivilegeValueA@12
|
||||
LookupPrivilegeValueW@12
|
||||
LookupSecurityDescriptorPartsA@28
|
||||
LookupSecurityDescriptorPartsW@28
|
||||
LsaAddAccountRights@16
|
||||
LsaAddPrivilegesToAccount@8
|
||||
LsaClearAuditLog@4
|
||||
LsaClose@4
|
||||
LsaCreateAccount@16
|
||||
LsaCreateSecret@16
|
||||
LsaCreateTrustedDomain@16
|
||||
LsaDelete@4
|
||||
LsaDeleteTrustedDomain@8
|
||||
LsaEnumerateAccountRights@16
|
||||
LsaEnumerateAccounts@20
|
||||
LsaEnumerateAccountsWithUserRight@16
|
||||
LsaEnumeratePrivileges@20
|
||||
LsaEnumeratePrivilegesOfAccount@8
|
||||
LsaEnumerateTrustedDomains@20
|
||||
LsaFreeMemory@4
|
||||
LsaGetQuotasForAccount@8
|
||||
LsaGetSystemAccessAccount@8
|
||||
LsaGetUserName
|
||||
LsaICLookupNames@28
|
||||
LsaICLookupSids@28
|
||||
LsaLookupNames@20
|
||||
LsaLookupPrivilegeDisplayName@16
|
||||
LsaLookupPrivilegeName@12
|
||||
LsaLookupPrivilegeValue@12
|
||||
LsaLookupSids@20
|
||||
LsaNtStatusToWinError@4
|
||||
LsaOpenAccount@16
|
||||
LsaOpenPolicy@16
|
||||
LsaOpenSecret@16
|
||||
LsaOpenTrustedDomain@16
|
||||
LsaQueryInfoTrustedDomain@12
|
||||
LsaQueryInformationPolicy@12
|
||||
LsaQuerySecret@20
|
||||
LsaQuerySecurityObject@12
|
||||
LsaQueryTrustedDomainInfo@16
|
||||
LsaRemoveAccountRights@20
|
||||
LsaRemovePrivilegesFromAccount@12
|
||||
LsaRetrievePrivateData@12
|
||||
LsaSetInformationPolicy@12
|
||||
LsaSetInformationTrustedDomain@12
|
||||
LsaSetQuotasForAccount@8
|
||||
LsaSetSecret@12
|
||||
LsaSetSecurityObject@12
|
||||
LsaSetSystemAccessAccount@8
|
||||
LsaSetTrustedDomainInformation@16
|
||||
LsaStorePrivateData@12
|
||||
MakeAbsoluteSD@44
|
||||
MakeSelfRelativeSD@12
|
||||
MapGenericMask@8
|
||||
NTAccessMaskToProvAccessRights
|
||||
NotifyBootConfigStatus@4
|
||||
NotifyChangeEventLog@8
|
||||
ObjectCloseAuditAlarmA@12
|
||||
ObjectCloseAuditAlarmW@12
|
||||
ObjectDeleteAuditAlarmA@12
|
||||
ObjectDeleteAuditAlarmW@12
|
||||
ObjectOpenAuditAlarmA@48
|
||||
ObjectOpenAuditAlarmW@48
|
||||
ObjectPrivilegeAuditAlarmA@24
|
||||
ObjectPrivilegeAuditAlarmW@24
|
||||
OpenBackupEventLogA@8
|
||||
OpenBackupEventLogW@8
|
||||
OpenEventLogA@8
|
||||
OpenEventLogW@8
|
||||
OpenProcessToken@12
|
||||
OpenSCManagerA@12
|
||||
OpenSCManagerW@12
|
||||
OpenServiceA@12
|
||||
OpenServiceW@12
|
||||
OpenThreadToken@16
|
||||
PrivilegeCheck@12
|
||||
PrivilegedServiceAuditAlarmA@20
|
||||
PrivilegedServiceAuditAlarmW@20
|
||||
ProvAccessRightsToNTAccessMask
|
||||
QueryServiceConfigA@16
|
||||
QueryServiceConfigW@16
|
||||
QueryServiceLockStatusA@16
|
||||
QueryServiceLockStatusW@16
|
||||
QueryServiceObjectSecurity@20
|
||||
QueryServiceStatus@8
|
||||
QueryWindows31FilesMigration@4
|
||||
ReadEventLogA@28
|
||||
ReadEventLogW@28
|
||||
RegCloseKey@4
|
||||
RegConnectRegistryA@12
|
||||
RegConnectRegistryW@12
|
||||
RegCreateKeyA@12
|
||||
RegCreateKeyExA@36
|
||||
RegCreateKeyExW@36
|
||||
RegCreateKeyW@12
|
||||
RegDeleteKeyA@8
|
||||
RegDeleteKeyW@8
|
||||
RegDeleteValueA@8
|
||||
RegDeleteValueW@8
|
||||
RegEnumKeyA@16
|
||||
RegEnumKeyExA@32
|
||||
RegEnumKeyExW@32
|
||||
RegEnumKeyW@16
|
||||
RegEnumValueA@32
|
||||
RegEnumValueW@32
|
||||
RegFlushKey@4
|
||||
RegGetKeySecurity@16
|
||||
RegLoadKeyA@12
|
||||
RegLoadKeyW@12
|
||||
RegNotifyChangeKeyValue@20
|
||||
RegOpenKeyA@12
|
||||
RegOpenKeyExA@20
|
||||
RegOpenKeyExW@20
|
||||
RegOpenKeyW@12
|
||||
RegQueryInfoKeyA@48
|
||||
RegQueryInfoKeyW@48
|
||||
RegQueryMultipleValuesA@20
|
||||
RegQueryMultipleValuesW@20
|
||||
RegQueryValueA@16
|
||||
RegQueryValueExA@24
|
||||
RegQueryValueExW@24
|
||||
RegQueryValueW@16
|
||||
RegReplaceKeyA@16
|
||||
RegReplaceKeyW@16
|
||||
RegRestoreKeyA@12
|
||||
RegRestoreKeyW@12
|
||||
RegSaveKeyA@12
|
||||
RegSaveKeyW@12
|
||||
RegSetKeySecurity@12
|
||||
RegSetValueA@20
|
||||
RegSetValueExA@24
|
||||
RegSetValueExW@24
|
||||
RegSetValueW@20
|
||||
RegUnLoadKeyA@8
|
||||
RegUnLoadKeyW@8
|
||||
RegisterEventSourceA@8
|
||||
RegisterEventSourceW@8
|
||||
RegisterServiceCtrlHandlerA@8
|
||||
RegisterServiceCtrlHandlerW@8
|
||||
ReplaceAllAccessRightsA
|
||||
ReplaceAllAccessRightsW
|
||||
ReportEventA@36
|
||||
ReportEventW@36
|
||||
RevertToSelf@0
|
||||
RevokeExplicitAccessRightsA
|
||||
RevokeExplicitAccessRightsW
|
||||
SetAccessRightsA
|
||||
SetAccessRightsW
|
||||
SetAclInformation@16
|
||||
SetEntriesInAclA@16
|
||||
SetEntriesInAclA@16
|
||||
SetFileSecurityA@12
|
||||
SetFileSecurityW@12
|
||||
SetKernelObjectSecurity@12
|
||||
SetNamedSecurityInfoA@28
|
||||
SetNamedSecurityInfoW@28
|
||||
SetPrivateObjectSecurity@20
|
||||
SetSecurityDescriptorDacl@16
|
||||
SetSecurityDescriptorGroup@12
|
||||
SetSecurityDescriptorOwner@12
|
||||
SetSecurityDescriptorSacl@16
|
||||
SetSecurityInfo@28
|
||||
SetServiceBits@16
|
||||
SetServiceObjectSecurity@12
|
||||
SetServiceStatus@8
|
||||
SetThreadToken@8
|
||||
SetTokenInformation@16
|
||||
StartServiceA@12
|
||||
StartServiceCtrlDispatcherA@4
|
||||
StartServiceCtrlDispatcherW@4
|
||||
StartServiceW@12
|
||||
SynchronizeWindows31FilesAndWindowsNTRegistry@16
|
||||
SystemFunction001@12
|
||||
SystemFunction002@12
|
||||
SystemFunction003@8
|
||||
SystemFunction004@12
|
||||
SystemFunction005@12
|
||||
SystemFunction006@8
|
||||
SystemFunction007@8
|
||||
SystemFunction008@12
|
||||
SystemFunction009@12
|
||||
SystemFunction010@12
|
||||
SystemFunction011@12
|
||||
SystemFunction012@12
|
||||
SystemFunction013@12
|
||||
SystemFunction014@12
|
||||
SystemFunction015@12
|
||||
SystemFunction016@12
|
||||
SystemFunction017@12
|
||||
SystemFunction018@12
|
||||
SystemFunction019@12
|
||||
SystemFunction020@12
|
||||
SystemFunction021@12
|
||||
SystemFunction022@12
|
||||
SystemFunction023@12
|
||||
SystemFunction024@12
|
||||
SystemFunction025@12
|
||||
SystemFunction026@12
|
||||
SystemFunction027@12
|
||||
SystemFunction028@8
|
||||
SystemFunction029@8
|
||||
SystemFunction030@8
|
||||
SystemFunction031@8
|
||||
SystemFunction032@8
|
||||
SystemFunction033@8
|
||||
UnlockServiceDatabase@4
|
||||
WinLoadTrustProvider@4
|
||||
WinSubmitCertificate@4
|
||||
WinVerifyTrust@12
|
||||
|
|
411
reactos/lib/advapi32/advapi32.edf
Normal file
411
reactos/lib/advapi32/advapi32.edf
Normal file
|
@ -0,0 +1,411 @@
|
|||
; $Id: advapi32.edf,v 1.1 1999/07/17 23:10:17 ea Exp $
|
||||
;
|
||||
; advapi32.def
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
; Some stack sizes are taken from Ander Norlander's .DEFs.
|
||||
;
|
||||
LIBRARY advapi32
|
||||
EXPORTS
|
||||
AbortSystemShutdownA=AbortSystemShutdownA@4
|
||||
AbortSystemShutdownW=AbortSystemShutdownW@4
|
||||
AccessCheck=AccessCheck@32
|
||||
AccessCheckAndAuditAlarmA=AccessCheckAndAuditAlarmA@44
|
||||
AccessCheckAndAuditAlarmW=AccessCheckAndAuditAlarmW@44
|
||||
AddAccessAllowedAce=AddAccessAllowedAce@16
|
||||
AddAccessDeniedAce=AddAccessDeniedAce@16
|
||||
AddAce=AddAce@20
|
||||
AddAuditAccessAce=AddAuditAccessAce@24
|
||||
AdjustTokenGroups=AdjustTokenGroups@24
|
||||
AdjustTokenPrivileges=AdjustTokenPrivileges@24
|
||||
AllocateAndInitializeSid=AllocateAndInitializeSid@44
|
||||
AllocateLocallyUniqueId=AllocateLocallyUniqueId@4
|
||||
AreAllAccessesGranted=AreAllAccessesGranted@8
|
||||
AreAnyAccessesGranted=AreAnyAccessesGranted@8
|
||||
BackupEventLogA=BackupEventLogA@8
|
||||
BackupEventLogW=BackupEventLogW@8
|
||||
BuildAccessRequestA
|
||||
BuildAccessRequestW
|
||||
BuildExplicitAccessWithNameA=BuildExplicitAccessWithNameA@20
|
||||
BuildExplicitAccessWithNameW=BuildExplicitAccessWithNameW@20
|
||||
BuildImpersonateExplicitAccessWithNameA
|
||||
BuildImpersonateExplicitAccessWithNameW
|
||||
BuildImpersonateTrusteeA
|
||||
BuildImpersonateTrusteeW
|
||||
BuildSecurityDescriptorA=BuildSecurityDescriptorA@36
|
||||
BuildSecurityDescriptorW=BuildSecurityDescriptorW@36
|
||||
BuildTrusteeWithNameA=BuildTrusteeWithNameA@8
|
||||
BuildTrusteeWithNameW=BuildTrusteeWithNameW@8
|
||||
BuildTrusteeWithSidA=BuildTrusteeWithSidA@8
|
||||
BuildTrusteeWithSidW=BuildTrusteeWithSidW@8
|
||||
ChangeServiceConfigA=ChangeServiceConfigA@44
|
||||
ChangeServiceConfigW=ChangeServiceConfigW@44
|
||||
ClearEventLogA=ClearEventLogA@8
|
||||
ClearEventLogW=ClearEventLogW@8
|
||||
ClearEventLogA=ClearEventLogA@8
|
||||
CloseServiceHandle=CloseServiceHandle@4
|
||||
ControlService=ControlService@12
|
||||
CopySid=CopySid@12
|
||||
CreatePrivateObjectSecurity=CreatePrivateObjectSecurity@24
|
||||
CreateProcessAsUserA=CreateProcessAsUserA@44
|
||||
CreateProcessAsUserW=CreateProcessAsUserW@44
|
||||
CreateServiceA=CreateServiceA@52
|
||||
CreateServiceW=CreateServiceW@52
|
||||
CryptAcquireContextA=CryptAcquireContextA@20
|
||||
CryptAcquireContextW=CryptAcquireContextW@20
|
||||
CryptCreateHash=CryptCreateHash@20
|
||||
CryptDecrypt=CryptDecrypt@24
|
||||
CryptDeriveKey=CryptDeriveKey@20
|
||||
CryptDestroyHash=CryptDestroyHash@4
|
||||
CryptDestroyKey=CryptDestroyKey@4
|
||||
CryptEncrypt=CryptEncrypt@28
|
||||
CryptExportKey=CryptExportKey@24
|
||||
CryptGenKey=CryptGenKey@16
|
||||
CryptGenRandom=CryptGenRandom@12
|
||||
CryptGetHashParam=CryptGetHashParam@20
|
||||
CryptGetKeyParam=CryptGetKeyParam@20
|
||||
CryptGetProvParam=CryptGetProvParam@20
|
||||
CryptGetUserKey=CryptGetUserKey@12
|
||||
CryptHashData=CryptHashData@16
|
||||
CryptHashSessionKey=CryptHashSessionKey@12
|
||||
CryptImportKey=CryptImportKey@24
|
||||
CryptReleaseContext=CryptReleaseContext@8
|
||||
CryptSetHashParam=CryptSetHashParam@16
|
||||
CryptSetKeyParam=CryptSetKeyParam@16
|
||||
CryptSetProvParam=CryptSetProvParam@16
|
||||
CryptSetProviderA=CryptSetProviderA@8
|
||||
CryptSetProviderW=CryptSetProviderW@8
|
||||
CryptSignHashA=CryptSignHashA@24
|
||||
CryptSignHashW=CryptSignHashW@24
|
||||
CryptVerifySignatureA=CryptVerifySignatureA@24
|
||||
CryptVerifySignatureW=CryptVerifySignatureW@24
|
||||
DeleteAce=DeleteAce@8
|
||||
DeleteService=DeleteService@4
|
||||
DenyAccessRightsA
|
||||
DenyAccessRightsW
|
||||
DeregisterEventSource=DeregisterEventSource@4
|
||||
DestroyPrivateObjectSecurity=DestroyPrivateObjectSecurity@4
|
||||
DuplicateToken=DuplicateToken@12
|
||||
DuplicateTokenEx=DuplicateTokenEx@24
|
||||
ElfBackupEventLogFileA=ElfBackupEventLogFileA@8
|
||||
ElfBackupEventLogFileW=ElfBackupEventLogFileW@8
|
||||
ElfChangeNotify=ElfChangeNotify@8
|
||||
ElfClearEventLogFileA=ElfClearEventLogFileA@8
|
||||
ElfClearEventLogFileW=ElfClearEventLogFileW@8
|
||||
ElfCloseEventLog=ElfCloseEventLog@4
|
||||
ElfDeregisterEventSource=ElfDeregisterEventSource@4
|
||||
ElfNumberOfRecords=ElfNumberOfRecords@8
|
||||
ElfOldestRecord=ElfOldestRecord@8
|
||||
ElfOpenBackupEventLogA=ElfOpenBackupEventLogA@12
|
||||
ElfOpenBackupEventLogW=ElfOpenBackupEventLogW@12
|
||||
ElfOpenEventLogA=ElfOpenEventLogA@12
|
||||
ElfOpenEventLogW=ElfOpenEventLogW@12
|
||||
ElfReadEventLogA=ElfReadEventLogA@28
|
||||
ElfReadEventLogW=ElfReadEventLogW@28
|
||||
ElfRegisterEventSourceA=ElfRegisterEventSourceA@12
|
||||
ElfRegisterEventSourceW=ElfRegisterEventSourceW@12
|
||||
ElfReportEventA=ElfReportEventA@48
|
||||
ElfReportEventW=ElfReportEventW@48
|
||||
EnumDependentServicesA=EnumDependentServicesA@24
|
||||
EnumDependentServicesW=EnumDependentServicesW@24
|
||||
EnumServiceGroupW
|
||||
EnumServicesStatusA=EnumServicesStatusA@32
|
||||
EnumServicesStatusW=EnumServicesStatusW@32
|
||||
EqualPrefixSid=EqualPrefixSid@8
|
||||
EqualSid=EqualSid@8
|
||||
FindFirstFreeAce=FindFirstFreeAce@8
|
||||
FreeSid=FreeSid@4
|
||||
GetAce=GetAce@12
|
||||
GetAclInformation=GetAclInformation@16
|
||||
GetAuditedPermissionsFromAclA
|
||||
GetAuditedPermissionsFromAclW
|
||||
GetAuditedPermissionsFromSDA
|
||||
GetAuditedPermissionsFromSDW
|
||||
GetCurrentHwProfileA
|
||||
GetCurrentHwProfileW
|
||||
GetEffectiveAccessRightsA
|
||||
GetEffectiveAccessRightsW
|
||||
GetEffectiveRightsFromAclA
|
||||
GetEffectiveRightsFromAclW
|
||||
GetEffectiveRightsFromSDA
|
||||
GetEffectiveRightsFromSDW
|
||||
GetExplicitAccessRightsA
|
||||
GetExplicitAccessRightsW
|
||||
GetExplicitEntriesFromAclA
|
||||
GetExplicitEntriesFromAclW
|
||||
GetFileSecurityA=GetFileSecurityA@20
|
||||
GetFileSecurityW=GetFileSecurityW@20
|
||||
GetKernelObjectSecurity=GetKernelObjectSecurity@20
|
||||
GetLengthSid=GetLengthSid@4
|
||||
GetMultipleTrusteeA
|
||||
GetMultipleTrusteeOperationA
|
||||
GetMultipleTrusteeOperationW
|
||||
GetMultipleTrusteeW
|
||||
GetNamedSecurityInfoA=GetNamedSecurityInfoA@32
|
||||
GetNamedSecurityInfoW=GetNamedSecurityInfoW@32
|
||||
GetNumberOfEventLogRecords=GetNumberOfEventLogRecords@8
|
||||
GetOldestEventLogRecord=GetOldestEventLogRecord@8
|
||||
GetPrivateObjectSecurity=GetPrivateObjectSecurity@20
|
||||
GetSecurityDescriptorControl=GetSecurityDescriptorControl@12
|
||||
GetSecurityDescriptorDacl=GetSecurityDescriptorDacl@16
|
||||
GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12
|
||||
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
|
||||
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
|
||||
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
|
||||
GetSecurityInfo=GetSecurityInfo@32
|
||||
GetServiceDisplayNameA=GetServiceDisplayNameA@16
|
||||
GetServiceDisplayNameW=GetServiceDisplayNameW@16
|
||||
GetServiceKeyNameA=GetServiceKeyNameA@16
|
||||
GetServiceKeyNameW=GetServiceKeyNameW@16
|
||||
GetSidIdentifierAuthority=GetSidIdentifierAuthority@4
|
||||
GetSidLengthRequired=GetSidLengthRequired@4
|
||||
GetSidSubAuthority=GetSidSubAuthority@8
|
||||
GetSidSubAuthorityCount=GetSidSubAuthorityCount@4
|
||||
GetTokenInformation=GetTokenInformation@20
|
||||
GetTrusteeForm=GetTrusteeForm@4
|
||||
GetTrusteeNameA=GetTrusteeNameA@4
|
||||
GetTrusteeNameW=GetTrusteeNameW@4
|
||||
GetTrusteeTypeA=GetTrusteeTypeA@4
|
||||
GetTrusteeTypeW=GetTrusteeTypeW@4
|
||||
GetUserNameA=GetUserNameA@8
|
||||
GetUserNameW=GetUserNameW@8
|
||||
GrantAccessRightsA
|
||||
GrantAccessRightsW
|
||||
I_ScGetCurrentGroupStateW
|
||||
I_ScSetServiceBitsA=I_ScSetServiceBitsA@20
|
||||
I_ScSetServiceBitsW=I_ScSetServiceBitsW@20
|
||||
ImpersonateLoggedOnUser=ImpersonateLoggedOnUser@4
|
||||
ImpersonateNamedPipeClient=ImpersonateNamedPipeClient@4
|
||||
ImpersonateSelf=ImpersonateSelf@4
|
||||
InitializeAcl=InitializeAcl@12
|
||||
InitializeSecurityDescriptor=InitializeSecurityDescriptor@8
|
||||
InitializeSid=InitializeSid@12
|
||||
InitiateSystemShutdownA=InitiateSystemShutdownA@20
|
||||
InitiateSystemShutdownW=InitiateSystemShutdownW@20
|
||||
IsAccessPermittedA
|
||||
IsAccessPermittedW
|
||||
IsTextUnicode=IsTextUnicode@12
|
||||
IsValidAcl=IsValidAcl@4
|
||||
IsValidSecurityDescriptor=IsValidSecurityDescriptor@4
|
||||
IsValidSid=IsValidSid@4
|
||||
LockServiceDatabase=LockServiceDatabase@4
|
||||
LogonUserA=LogonUserA@24
|
||||
LogonUserW=LogonUserW@24
|
||||
LookupAccountNameA=LookupAccountNameA@28
|
||||
LookupAccountNameW=LookupAccountNameW@28
|
||||
LookupAccountSidA=LookupAccountSidA@28
|
||||
LookupAccountSidW=LookupAccountSidW@28
|
||||
LookupPrivilegeDisplayNameA=LookupPrivilegeDisplayNameA@20
|
||||
LookupPrivilegeDisplayNameW=LookupPrivilegeDisplayNameW@20
|
||||
LookupPrivilegeNameA=LookupPrivilegeNameA@16
|
||||
LookupPrivilegeNameW=LookupPrivilegeNameW@16
|
||||
LookupPrivilegeValueA=LookupPrivilegeValueA@12
|
||||
LookupPrivilegeValueW=LookupPrivilegeValueW@12
|
||||
LookupSecurityDescriptorPartsA=LookupSecurityDescriptorPartsA@28
|
||||
LookupSecurityDescriptorPartsW=LookupSecurityDescriptorPartsW@28
|
||||
LsaAddAccountRights=LsaAddAccountRights@16
|
||||
LsaAddPrivilegesToAccount=LsaAddPrivilegesToAccount@8
|
||||
LsaClearAuditLog=LsaClearAuditLog@4
|
||||
LsaClose=LsaClose@4
|
||||
LsaCreateAccount=LsaCreateAccount@16
|
||||
LsaCreateSecret=LsaCreateSecret@16
|
||||
LsaCreateTrustedDomain=LsaCreateTrustedDomain@16
|
||||
LsaDelete=LsaDelete@4
|
||||
LsaDeleteTrustedDomain=LsaDeleteTrustedDomain@8
|
||||
LsaEnumerateAccountRights=LsaEnumerateAccountRights@16
|
||||
LsaEnumerateAccounts=LsaEnumerateAccounts@20
|
||||
LsaEnumerateAccountsWithUserRight=LsaEnumerateAccountsWithUserRight@16
|
||||
LsaEnumeratePrivileges=LsaEnumeratePrivileges@20
|
||||
LsaEnumeratePrivilegesOfAccount=LsaEnumeratePrivilegesOfAccount@8
|
||||
LsaEnumerateTrustedDomains=LsaEnumerateTrustedDomains@20
|
||||
LsaFreeMemory=LsaFreeMemory@4
|
||||
LsaGetQuotasForAccount=LsaGetQuotasForAccount@8
|
||||
LsaGetSystemAccessAccount=LsaGetSystemAccessAccount@8
|
||||
LsaGetUserName
|
||||
LsaICLookupNames=LsaICLookupNames@28
|
||||
LsaICLookupSids=LsaICLookupSids@28
|
||||
LsaLookupNames=LsaLookupNames@20
|
||||
LsaLookupPrivilegeDisplayName=LsaLookupPrivilegeDisplayName@16
|
||||
LsaLookupPrivilegeName=LsaLookupPrivilegeName@12
|
||||
LsaLookupPrivilegeValue=LsaLookupPrivilegeValue@12
|
||||
LsaLookupSids=LsaLookupSids@20
|
||||
LsaNtStatusToWinError=LsaNtStatusToWinError@4
|
||||
LsaOpenAccount=LsaOpenAccount@16
|
||||
LsaOpenPolicy=LsaOpenPolicy@16
|
||||
LsaOpenSecret=LsaOpenSecret@16
|
||||
LsaOpenTrustedDomain=LsaOpenTrustedDomain@16
|
||||
LsaQueryInfoTrustedDomain=LsaQueryInfoTrustedDomain@12
|
||||
LsaQueryInformationPolicy=LsaQueryInformationPolicy@12
|
||||
LsaQuerySecret=LsaQuerySecret@20
|
||||
LsaQuerySecurityObject=LsaQuerySecurityObject@12
|
||||
LsaQueryTrustedDomainInfo=LsaQueryTrustedDomainInfo@16
|
||||
LsaRemoveAccountRights=LsaRemoveAccountRights@20
|
||||
LsaRemovePrivilegesFromAccount=LsaRemovePrivilegesFromAccount@12
|
||||
LsaRetrievePrivateData=LsaRetrievePrivateData@12
|
||||
LsaSetInformationPolicy=LsaSetInformationPolicy@12
|
||||
LsaSetInformationTrustedDomain=LsaSetInformationTrustedDomain@12
|
||||
LsaSetQuotasForAccount=LsaSetQuotasForAccount@8
|
||||
LsaSetSecret=LsaSetSecret@12
|
||||
LsaSetSecurityObject=LsaSetSecurityObject@12
|
||||
LsaSetSystemAccessAccount=LsaSetSystemAccessAccount@8
|
||||
LsaSetTrustedDomainInformation=LsaSetTrustedDomainInformation@16
|
||||
LsaStorePrivateData=LsaStorePrivateData@12
|
||||
MakeAbsoluteSD=MakeAbsoluteSD@44
|
||||
MakeSelfRelativeSD=MakeSelfRelativeSD@12
|
||||
MapGenericMask=MapGenericMask@8
|
||||
NTAccessMaskToProvAccessRights
|
||||
NotifyBootConfigStatus=NotifyBootConfigStatus@4
|
||||
NotifyChangeEventLog=NotifyChangeEventLog@8
|
||||
ObjectCloseAuditAlarmA=ObjectCloseAuditAlarmA@12
|
||||
ObjectCloseAuditAlarmW=ObjectCloseAuditAlarmW@12
|
||||
ObjectDeleteAuditAlarmA=ObjectDeleteAuditAlarmA@12
|
||||
ObjectDeleteAuditAlarmW=ObjectDeleteAuditAlarmW@12
|
||||
ObjectOpenAuditAlarmA=ObjectOpenAuditAlarmA@48
|
||||
ObjectOpenAuditAlarmW=ObjectOpenAuditAlarmW@48
|
||||
ObjectPrivilegeAuditAlarmA=ObjectPrivilegeAuditAlarmA@24
|
||||
ObjectPrivilegeAuditAlarmW=ObjectPrivilegeAuditAlarmW@24
|
||||
OpenBackupEventLogA=OpenBackupEventLogA@8
|
||||
OpenBackupEventLogW=OpenBackupEventLogW@8
|
||||
OpenEventLogA=OpenEventLogA@8
|
||||
OpenEventLogW=OpenEventLogW@8
|
||||
OpenProcessToken=OpenProcessToken@12
|
||||
OpenSCManagerA=OpenSCManagerA@12
|
||||
OpenSCManagerW=OpenSCManagerW@12
|
||||
OpenServiceA=OpenServiceA@12
|
||||
OpenServiceW=OpenServiceW@12
|
||||
OpenThreadToken=OpenThreadToken@16
|
||||
PrivilegeCheck=PrivilegeCheck@12
|
||||
PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20
|
||||
PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20
|
||||
ProvAccessRightsToNTAccessMask
|
||||
QueryServiceConfigA=QueryServiceConfigA@16
|
||||
QueryServiceConfigW=QueryServiceConfigW@16
|
||||
QueryServiceLockStatusA=QueryServiceLockStatusA@16
|
||||
QueryServiceLockStatusW=QueryServiceLockStatusW@16
|
||||
QueryServiceObjectSecurity=QueryServiceObjectSecurity@20
|
||||
QueryServiceStatus=QueryServiceStatus@8
|
||||
QueryWindows31FilesMigration=QueryWindows31FilesMigration@4
|
||||
ReadEventLogA=ReadEventLogA@28
|
||||
ReadEventLogW=ReadEventLogW@28
|
||||
RegCloseKey=RegCloseKey@4
|
||||
RegConnectRegistryA=RegConnectRegistryA@12
|
||||
RegConnectRegistryW=RegConnectRegistryW@12
|
||||
RegCreateKeyA=RegCreateKeyA@12
|
||||
RegCreateKeyExA=RegCreateKeyExA@36
|
||||
RegCreateKeyExW=RegCreateKeyExW@36
|
||||
RegCreateKeyW=RegCreateKeyW@12
|
||||
RegDeleteKeyA=RegDeleteKeyA@8
|
||||
RegDeleteKeyW=RegDeleteKeyW@8
|
||||
RegDeleteValueA=RegDeleteValueA@8
|
||||
RegDeleteValueW=RegDeleteValueW@8
|
||||
RegEnumKeyA=RegEnumKeyA@16
|
||||
RegEnumKeyExA=RegEnumKeyExA@32
|
||||
RegEnumKeyExW=RegEnumKeyExW@32
|
||||
RegEnumKeyW=RegEnumKeyW@16
|
||||
RegEnumValueA=RegEnumValueA@32
|
||||
RegEnumValueW=RegEnumValueW@32
|
||||
RegFlushKey=RegFlushKey@4
|
||||
RegGetKeySecurity=RegGetKeySecurity@16
|
||||
RegLoadKeyA=RegLoadKeyA@12
|
||||
RegLoadKeyW=RegLoadKeyW@12
|
||||
RegNotifyChangeKeyValue=RegNotifyChangeKeyValue@20
|
||||
RegOpenKeyA=RegOpenKeyA@12
|
||||
RegOpenKeyExA=RegOpenKeyExA@20
|
||||
RegOpenKeyExW=RegOpenKeyExW@20
|
||||
RegOpenKeyW=RegOpenKeyW@12
|
||||
RegQueryInfoKeyA=RegQueryInfoKeyA@48
|
||||
RegQueryInfoKeyW=RegQueryInfoKeyW@48
|
||||
RegQueryMultipleValuesA=RegQueryMultipleValuesA@20
|
||||
RegQueryMultipleValuesW=RegQueryMultipleValuesW@20
|
||||
RegQueryValueA=RegQueryValueA@16
|
||||
RegQueryValueExA=RegQueryValueExA@24
|
||||
RegQueryValueExW=RegQueryValueExW@24
|
||||
RegQueryValueW=RegQueryValueW@16
|
||||
RegReplaceKeyA=RegReplaceKeyA@16
|
||||
RegReplaceKeyW=RegReplaceKeyW@16
|
||||
RegRestoreKeyA=RegRestoreKeyA@12
|
||||
RegRestoreKeyW=RegRestoreKeyW@12
|
||||
RegSaveKeyA=RegSaveKeyA@12
|
||||
RegSaveKeyW=RegSaveKeyW@12
|
||||
RegSetKeySecurity=RegSetKeySecurity@12
|
||||
RegSetValueA=RegSetValueA@20
|
||||
RegSetValueExA=RegSetValueExA@24
|
||||
RegSetValueExW=RegSetValueExW@24
|
||||
RegSetValueW=RegSetValueW@20
|
||||
RegUnLoadKeyA=RegUnLoadKeyA@8
|
||||
RegUnLoadKeyW=RegUnLoadKeyW@8
|
||||
RegisterEventSourceA=RegisterEventSourceA@8
|
||||
RegisterEventSourceW=RegisterEventSourceW@8
|
||||
RegisterServiceCtrlHandlerA=RegisterServiceCtrlHandlerA@8
|
||||
RegisterServiceCtrlHandlerW=RegisterServiceCtrlHandlerW@8
|
||||
ReplaceAllAccessRightsA
|
||||
ReplaceAllAccessRightsW
|
||||
ReportEventA=ReportEventA@36
|
||||
ReportEventW=ReportEventW@36
|
||||
RevertToSelf=RevertToSelf@0
|
||||
RevokeExplicitAccessRightsA
|
||||
RevokeExplicitAccessRightsW
|
||||
SetAccessRightsA
|
||||
SetAccessRightsW
|
||||
SetAclInformation=SetAclInformation@16
|
||||
SetEntriesInAclA=SetEntriesInAclA@16
|
||||
SetEntriesInAclA=SetEntriesInAclA@16
|
||||
SetFileSecurityA=SetFileSecurityA@12
|
||||
SetFileSecurityW=SetFileSecurityW@12
|
||||
SetKernelObjectSecurity=SetKernelObjectSecurity@12
|
||||
SetNamedSecurityInfoA=SetNamedSecurityInfoA@28
|
||||
SetNamedSecurityInfoW=SetNamedSecurityInfoW@28
|
||||
SetPrivateObjectSecurity=SetPrivateObjectSecurity@20
|
||||
SetSecurityDescriptorDacl=SetSecurityDescriptorDacl@16
|
||||
SetSecurityDescriptorGroup=SetSecurityDescriptorGroup@12
|
||||
SetSecurityDescriptorOwner=SetSecurityDescriptorOwner@12
|
||||
SetSecurityDescriptorSacl=SetSecurityDescriptorSacl@16
|
||||
SetSecurityInfo=SetSecurityInfo@28
|
||||
SetServiceBits=SetServiceBits@16
|
||||
SetServiceObjectSecurity=SetServiceObjectSecurity@12
|
||||
SetServiceStatus=SetServiceStatus@8
|
||||
SetThreadToken=SetThreadToken@8
|
||||
SetTokenInformation=SetTokenInformation@16
|
||||
StartServiceA=StartServiceA@12
|
||||
StartServiceCtrlDispatcherA=StartServiceCtrlDispatcherA@4
|
||||
StartServiceCtrlDispatcherW=StartServiceCtrlDispatcherW@4
|
||||
StartServiceW=StartServiceW@12
|
||||
SynchronizeWindows31FilesAndWindowsNTRegistry=SynchronizeWindows31FilesAndWindowsNTRegistry@16
|
||||
SystemFunction001=SystemFunction001@12
|
||||
SystemFunction002=SystemFunction002@12
|
||||
SystemFunction003=SystemFunction003@8
|
||||
SystemFunction004=SystemFunction004@12
|
||||
SystemFunction005=SystemFunction005@12
|
||||
SystemFunction006=SystemFunction006@8
|
||||
SystemFunction007=SystemFunction007@8
|
||||
SystemFunction008=SystemFunction008@12
|
||||
SystemFunction009=SystemFunction009@12
|
||||
SystemFunction010=SystemFunction010@12
|
||||
SystemFunction011=SystemFunction011@12
|
||||
SystemFunction012=SystemFunction012@12
|
||||
SystemFunction013=SystemFunction013@12
|
||||
SystemFunction014=SystemFunction014@12
|
||||
SystemFunction015=SystemFunction015@12
|
||||
SystemFunction016=SystemFunction016@12
|
||||
SystemFunction017=SystemFunction017@12
|
||||
SystemFunction018=SystemFunction018@12
|
||||
SystemFunction019=SystemFunction019@12
|
||||
SystemFunction020=SystemFunction020@12
|
||||
SystemFunction021=SystemFunction021@12
|
||||
SystemFunction022=SystemFunction022@12
|
||||
SystemFunction023=SystemFunction023@12
|
||||
SystemFunction024=SystemFunction024@12
|
||||
SystemFunction025=SystemFunction025@12
|
||||
SystemFunction026=SystemFunction026@12
|
||||
SystemFunction027=SystemFunction027@12
|
||||
SystemFunction028=SystemFunction028@8
|
||||
SystemFunction029=SystemFunction029@8
|
||||
SystemFunction030=SystemFunction030@8
|
||||
SystemFunction031=SystemFunction031@8
|
||||
SystemFunction032=SystemFunction032@8
|
||||
SystemFunction033=SystemFunction033@8
|
||||
UnlockServiceDatabase=UnlockServiceDatabase@4
|
||||
WinLoadTrustProvider=WinLoadTrustProvider@4
|
||||
WinSubmitCertificate=WinSubmitCertificate@4
|
||||
WinVerifyTrust=WinVerifyTrust@12
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.3 1999/06/18 22:10:58 ea Exp $
|
||||
# $Id: makefile,v 1.4 1999/07/17 23:10:18 ea Exp $
|
||||
#
|
||||
# Makefile for ReactOS advapi32.dll
|
||||
#
|
||||
|
@ -17,7 +17,7 @@ endif
|
|||
MISC_OBJECTS = misc/dllmain.o misc/shutdown.o \
|
||||
misc/sysfunc.o
|
||||
|
||||
REGISTRY_OBJECTS = reg/reg.o
|
||||
REGISTRY_OBJECTS = reg/reg.o reg/regw.o
|
||||
|
||||
SECURITY_OBJECTS = sec/lsa.o sec/sec.o
|
||||
#SECURITY_OBJECTS = sec/lsa.o sec/rtlsec.o sec/sec.o
|
||||
|
@ -42,6 +42,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).dll \
|
||||
--def $(TARGET).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) \
|
||||
$(TARGET).o \
|
||||
|
@ -56,7 +57,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
$(TARGET).o
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: shutdown.c,v 1.1 1999/05/19 16:43:30 ea Exp $
|
||||
/* $Id: shutdown.c,v 1.2 1999/07/17 23:10:18 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
|
@ -83,7 +83,7 @@ InitiateSystemShutdownW(
|
|||
|
||||
if (lpMachineName)
|
||||
{
|
||||
/* remote machine shutdown not supported yet */
|
||||
/* FIXME: remote machine shutdown not supported yet */
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -8,12 +8,9 @@
|
|||
* Created 01/11/98
|
||||
* 19990309 EA Stubs
|
||||
*/
|
||||
//#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <wchar.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegCloseKey
|
||||
*/
|
||||
|
@ -44,22 +41,6 @@ RegConnectRegistryA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegConnectRegistryW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegConnectRegistryW(
|
||||
LPWSTR lpMachineName,
|
||||
HKEY hKey,
|
||||
PHKEY phkResult
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegCreateKeyA
|
||||
*/
|
||||
|
@ -76,22 +57,6 @@ RegCreateKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegCreateKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegCreateKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
PHKEY phkResult
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegCreateKeyExA
|
||||
*/
|
||||
|
@ -114,28 +79,6 @@ RegCreateKeyExA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegCreateKeyExW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegCreateKeyExW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
DWORD Reserved,
|
||||
LPWSTR lpClass,
|
||||
DWORD dwOptions,
|
||||
REGSAM samDesired,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
PHKEY phkResult,
|
||||
LPDWORD lpdwDisposition
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegDeleteKeyA
|
||||
*/
|
||||
|
@ -151,21 +94,6 @@ RegDeleteKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegDeleteKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegDeleteKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegDeleteValueA
|
||||
*/
|
||||
|
@ -181,21 +109,6 @@ RegDeleteValueA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegDeleteValueW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegDeleteValueW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpValueName
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumKeyA
|
||||
*/
|
||||
|
@ -213,23 +126,6 @@ RegEnumKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegEnumKeyW(
|
||||
HKEY hKey,
|
||||
DWORD dwIndex,
|
||||
LPWSTR lpName,
|
||||
DWORD cbName
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumKeyExA
|
||||
*/
|
||||
|
@ -251,27 +147,6 @@ RegEnumKeyExA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumKeyExW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegEnumKeyExW(
|
||||
HKEY hKey,
|
||||
DWORD dwIndex,
|
||||
LPWSTR lpName,
|
||||
LPDWORD lpcbName,
|
||||
LPDWORD lpReserved,
|
||||
LPWSTR lpClass,
|
||||
LPDWORD lpcbClass,
|
||||
PFILETIME lpftLastWriteTime
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumValueA
|
||||
*/
|
||||
|
@ -293,27 +168,6 @@ RegEnumValueA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegEnumValueW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegEnumValueW(
|
||||
HKEY hKey,
|
||||
DWORD dwIndex,
|
||||
LPWSTR lpValueName,
|
||||
LPDWORD lpcbValueName,
|
||||
LPDWORD lpReserved,
|
||||
LPDWORD lpType,
|
||||
LPBYTE lpData,
|
||||
LPDWORD lpcbData
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegFlushKey
|
||||
*/
|
||||
|
@ -335,7 +189,7 @@ LONG
|
|||
STDCALL
|
||||
RegGetKeySecurity (
|
||||
HKEY hKey,
|
||||
SECURITY_INFORMATION SecurityInformation,
|
||||
SECURITY_INFORMATION SecurityInformation, /* FIXME: ULONG ? */
|
||||
PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
LPDWORD lpcbSecurityDescriptor
|
||||
)
|
||||
|
@ -352,6 +206,7 @@ LONG
|
|||
STDCALL
|
||||
RegLoadKey(
|
||||
HKEY hKey,
|
||||
LPCSTR lpSubKey,
|
||||
LPCSTR lpFile
|
||||
)
|
||||
{
|
||||
|
@ -360,21 +215,6 @@ RegLoadKey(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegLoadKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegLoadKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpFile
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegNotifyChangeKeyValue
|
||||
*/
|
||||
|
@ -410,48 +250,6 @@ RegOpenKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegOpenKeyW
|
||||
*
|
||||
* 19981101 Ariadne
|
||||
* 19990525 EA
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegOpenKeyW (
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
PHKEY phkResult
|
||||
)
|
||||
{
|
||||
NTSTATUS errCode;
|
||||
UNICODE_STRING SubKeyString;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
||||
|
||||
SubKeyString.Buffer = (LPWSTR) lpSubKey;
|
||||
SubKeyString.Length = wcslen(lpSubKey);
|
||||
SubKeyString.MaximumLength = SubKeyString.Length;
|
||||
|
||||
ObjectAttributes.RootDirectory = hKey;
|
||||
ObjectAttributes.ObjectName = & SubKeyString;
|
||||
ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE;
|
||||
errCode = NtOpenKey(
|
||||
phkResult,
|
||||
GENERIC_ALL,
|
||||
& ObjectAttributes
|
||||
);
|
||||
if ( !NT_SUCCESS(errCode) )
|
||||
{
|
||||
LONG LastError = RtlNtStatusToDosError(errCode);
|
||||
|
||||
SetLastError(LastError);
|
||||
return LastError;
|
||||
}
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegOpenKeyExA
|
||||
*/
|
||||
|
@ -461,23 +259,7 @@ RegOpenKeyExA(
|
|||
HKEY hKey,
|
||||
LPCSTR lpSubKey,
|
||||
DWORD ulOptions,
|
||||
PHKEY phkResult
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegOpenKeyExW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegOpenKeyExW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
DWORD ulOptions,
|
||||
REGSAM samDesired,
|
||||
PHKEY phkResult
|
||||
)
|
||||
{
|
||||
|
@ -502,30 +284,7 @@ RegQueryInfoKeyA(
|
|||
LPDWORD lpcValues,
|
||||
LPDWORD lpcbMaxValueNameLen,
|
||||
LPDWORD lpcbMaxValueLen,
|
||||
PFILETIME lpftLastWriteTime
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryInfoKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegQueryInfoKeyW(
|
||||
HKEY hKey,
|
||||
LPWSTR lpClass,
|
||||
LPDWORD lpcbClass,
|
||||
LPDWORD lpReserved,
|
||||
LPDWORD lpcSubKeys,
|
||||
LPDWORD lpcbMaxSubKeyLen,
|
||||
LPDWORD lpcbMaxClassLen,
|
||||
LPDWORD lpcValues,
|
||||
LPDWORD lpcbMaxValueNameLen,
|
||||
LPDWORD lpcbMaxValueLen,
|
||||
LPDWORD lpcbSecurityDescriptor,
|
||||
PFILETIME lpftLastWriteTime
|
||||
)
|
||||
{
|
||||
|
@ -552,24 +311,6 @@ RegQueryMultipleValuesA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryMultipleValuesW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegQueryMultipleValuesW(
|
||||
HKEY hKey,
|
||||
PVALENT val_list,
|
||||
DWORD num_vals,
|
||||
LPWSTR lpValueBuf,
|
||||
LPDWORD ldwTotsize
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryValueA
|
||||
*/
|
||||
|
@ -587,23 +328,6 @@ RegQueryValueA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryValueW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegQueryValueW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
LPWSTR lpValue,
|
||||
PLONG lpcbValue
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryValueExA
|
||||
*/
|
||||
|
@ -611,26 +335,7 @@ LONG
|
|||
STDCALL
|
||||
RegQueryValueExA(
|
||||
HKEY hKey,
|
||||
LPSTR lpValueName,
|
||||
LPDWORD lpReserved,
|
||||
LPDWORD lpType,
|
||||
LPBYTE lpData,
|
||||
LPDWORD lpcbData
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegQueryValueExW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegQueryValueExW(
|
||||
HKEY hKey,
|
||||
LPWSTR lpValueName,
|
||||
LPCSTR lpValueName,
|
||||
LPDWORD lpReserved,
|
||||
LPDWORD lpType,
|
||||
LPBYTE lpData,
|
||||
|
@ -659,23 +364,6 @@ RegReplaceKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegReplaceKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegReplaceKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
LPCWSTR lpNewFile,
|
||||
LPCWSTR lpOldFile
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegRestoreKeyA
|
||||
*/
|
||||
|
@ -692,22 +380,6 @@ RegRestoreKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegRestoreKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegRestoreKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpFile,
|
||||
DWORD dwFlags
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSaveKeyA
|
||||
*/
|
||||
|
@ -724,22 +396,6 @@ RegSaveKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSaveKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegSaveKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpFile,
|
||||
LPSECURITY_ATTRIBUTES lpSecurityAttributes
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSetKeySecurity
|
||||
*/
|
||||
|
@ -747,7 +403,7 @@ LONG
|
|||
STDCALL
|
||||
RegSetKeySecurity(
|
||||
HKEY hKey,
|
||||
SECURITY_INFORMATION SecurityInformation,
|
||||
SECURITY_INFORMATION SecurityInformation, /* FIXME: ULONG? */
|
||||
PSECURITY_DESCRIPTOR pSecurityDescriptor
|
||||
)
|
||||
{
|
||||
|
@ -774,24 +430,6 @@ RegSetValueA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSetValueW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegSetValueW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey,
|
||||
DWORD dwType,
|
||||
LPCWSTR lpData,
|
||||
DWORD cbData
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSetValueExA
|
||||
*/
|
||||
|
@ -811,25 +449,6 @@ RegSetValueExA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegSetValueExW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegSetValueExW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpValueName,
|
||||
DWORD Reserved,
|
||||
DWORD dwType,
|
||||
CONST BYTE *lpData,
|
||||
DWORD cbData
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegUnLoadKeyA
|
||||
*/
|
||||
|
@ -845,20 +464,5 @@ RegUnLoadKeyA(
|
|||
}
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* RegUnLoadKeyW
|
||||
*/
|
||||
LONG
|
||||
STDCALL
|
||||
RegUnLoadKeyW(
|
||||
HKEY hKey,
|
||||
LPCWSTR lpSubKey
|
||||
)
|
||||
{
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: fmifs.def,v 1.2 1999/05/21 05:25:12 ea Exp $
|
||||
; $Id: fmifs.def,v 1.3 1999/07/17 23:10:18 ea Exp $
|
||||
;
|
||||
; fmifs.def
|
||||
;
|
||||
|
@ -12,15 +12,12 @@
|
|||
;
|
||||
LIBRARY fmifs
|
||||
EXPORTS
|
||||
Chkdsk@36
|
||||
Chkdsk = Chkdsk@36
|
||||
DiskCopy = DiskCopy@0
|
||||
EnableVolumeCompression@8
|
||||
EnableVolumeCompression = EnableVolumeCompression@8
|
||||
Extend = Extend@0
|
||||
Format = Format@0
|
||||
FormatEx@28
|
||||
FormatEx = FormatEx@28
|
||||
InitializeFmIfs = InitializeFmIfs@0
|
||||
QuerySupportedMedia = QuerySupportedMedia@0
|
||||
SetLabel = SetLabel@0
|
||||
Chkdsk@36
|
||||
DiskCopy@0
|
||||
EnableVolumeCompression@8
|
||||
Extend@0
|
||||
Format@0
|
||||
FormatEx@28
|
||||
InitializeFmIfs@0
|
||||
QuerySupportedMedia@0
|
||||
SetLabel@0
|
||||
|
|
23
reactos/lib/fmifs/fmifs.edf
Normal file
23
reactos/lib/fmifs/fmifs.edf
Normal file
|
@ -0,0 +1,23 @@
|
|||
; $Id: fmifs.edf,v 1.1 1999/07/17 23:10:19 ea Exp $
|
||||
;
|
||||
; fmifs.def
|
||||
;
|
||||
; Project : ReactOS
|
||||
; Description : fmifs.dll exported symbols
|
||||
; Contributors:
|
||||
; Created by Emanuele Aliberti
|
||||
;
|
||||
;
|
||||
; NOTE: NOTE: Functions with trailing @0 are unknown.
|
||||
;
|
||||
LIBRARY fmifs
|
||||
EXPORTS
|
||||
Chkdsk=Chkdsk@36
|
||||
DiskCopy=DiskCopy@0
|
||||
EnableVolumeCompression=EnableVolumeCompression@8
|
||||
Extend=Extend@0
|
||||
Format=Format@0
|
||||
FormatEx=FormatEx@28
|
||||
InitializeFmIfs=InitializeFmIfs@0
|
||||
QuerySupportedMedia=QuerySupportedMedia@0
|
||||
SetLabel=SetLabel@0
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.5 1999/07/16 23:37:04 rex Exp $
|
||||
# $Id: makefile,v 1.6 1999/07/17 23:10:19 ea Exp $
|
||||
#
|
||||
# Makefile for fmifs.dll
|
||||
#
|
||||
|
@ -34,9 +34,8 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).dll \
|
||||
--def $(TARGET).def \
|
||||
--output-lib $(TARGET).a \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) \
|
||||
-specs=$(TARGET)_specs \
|
||||
-mdll \
|
||||
|
@ -48,9 +47,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
-specs=$(TARGET)_specs \
|
||||
|
|
|
@ -1,342 +1,342 @@
|
|||
; $Id: gdi32.def,v 1.2 1999/05/24 20:04:44 ea Exp $
|
||||
; $Id: gdi32.def,v 1.3 1999/07/17 23:10:19 ea Exp $
|
||||
;
|
||||
; gdi32.def
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
; Aliased symbols from Anders Norlander's w32api-0.1.5 gdi32.def.
|
||||
; From Anders Norlander's w32api-0.1.5 gdi32.def.
|
||||
;
|
||||
LIBRARY gdi32
|
||||
EXPORTS
|
||||
AbortDoc = AbortDoc@4
|
||||
AbortPath = AbortPath@4
|
||||
AddFontResourceA = AddFontResourceA@4
|
||||
AddFontResourceW = AddFontResourceW@4
|
||||
AngleArc = AngleArc@24
|
||||
AnimatePalette = AnimatePalette@16
|
||||
Arc = Arc@36
|
||||
ArcTo = ArcTo@36
|
||||
BeginPath = BeginPath@4
|
||||
BitBlt = BitBlt@36
|
||||
CancelDC = CancelDC@4
|
||||
CheckColorsInGamut = CheckColorsInGamut@16
|
||||
ChoosePixelFormat = ChoosePixelFormat@8
|
||||
Chord = Chord@36
|
||||
CloseEnhMetaFile = CloseEnhMetaFile@4
|
||||
CloseFigure = CloseFigure@4
|
||||
CloseMetaFile = CloseMetaFile@4
|
||||
ColorMatchToTarget = ColorMatchToTarget@12
|
||||
CombineRgn = CombineRgn@16
|
||||
CombineTransform = CombineTransform@12
|
||||
CopyEnhMetaFileA = CopyEnhMetaFileA@8
|
||||
CopyEnhMetaFileW = CopyEnhMetaFileW@8
|
||||
CopyMetaFileA = CopyMetaFileA@8
|
||||
CopyMetaFileW = CopyMetaFileW@8
|
||||
CreateBitmap = CreateBitmap@20
|
||||
CreateBitmapIndirect = CreateBitmapIndirect@4
|
||||
CreateBrushIndirect = CreateBrushIndirect@4
|
||||
CreateColorSpaceA = CreateColorSpaceA@4
|
||||
CreateColorSpaceW = CreateColorSpaceW@4
|
||||
CreateCompatibleBitmap = CreateCompatibleBitmap@12
|
||||
CreateCompatibleDC = CreateCompatibleDC@4
|
||||
CreateDCA = CreateDCA@16
|
||||
CreateDCW = CreateDCW@16
|
||||
CreateDIBPatternBrush = CreateDIBPatternBrush@8
|
||||
CreateDIBPatternBrushPt = CreateDIBPatternBrushPt@8
|
||||
CreateDIBSection = CreateDIBSection@24
|
||||
CreateDIBitmap = CreateDIBitmap@24
|
||||
CreateDiscardableBitmap = CreateDiscardableBitmap@12
|
||||
CreateEllipticRgn = CreateEllipticRgn@16
|
||||
CreateEllipticRgnIndirect = CreateEllipticRgnIndirect@4
|
||||
CreateEnhMetaFileA = CreateEnhMetaFileA@16
|
||||
CreateEnhMetaFileW = CreateEnhMetaFileW@16
|
||||
CreateFontA = CreateFontA@56
|
||||
CreateFontIndirectA = CreateFontIndirectA@4
|
||||
CreateFontIndirectW = CreateFontIndirectW@4
|
||||
CreateFontW = CreateFontW@56
|
||||
CreateHalftonePalette = CreateHalftonePalette@4
|
||||
CreateHatchBrush = CreateHatchBrush@8
|
||||
CreateICA = CreateICA@16
|
||||
CreateICW = CreateICW@16
|
||||
CreateMetaFileA = CreateMetaFileA@4
|
||||
CreateMetaFileW = CreateMetaFileW@4
|
||||
CreatePalette = CreatePalette@4
|
||||
CreatePatternBrush = CreatePatternBrush@4
|
||||
CreatePen = CreatePen@12
|
||||
CreatePenIndirect = CreatePenIndirect@4
|
||||
CreatePolyPolygonRgn = CreatePolyPolygonRgn@16
|
||||
CreatePolygonRgn = CreatePolygonRgn@12
|
||||
CreateRectRgn = CreateRectRgn@16
|
||||
CreateRectRgnIndirect = CreateRectRgnIndirect@4
|
||||
CreateRoundRectRgn = CreateRoundRectRgn@24
|
||||
CreateScalableFontResourceA = CreateScalableFontResourceA@16
|
||||
CreateScalableFontResourceW = CreateScalableFontResourceW@16
|
||||
CreateSolidBrush = CreateSolidBrush@4
|
||||
DPtoLP = DPtoLP@12
|
||||
DeleteColorSpace = DeleteColorSpace@4
|
||||
DeleteDC = DeleteDC@4
|
||||
DeleteEnhMetaFile = DeleteEnhMetaFile@4
|
||||
DeleteMetaFile = DeleteMetaFile@4
|
||||
DeleteObject = DeleteObject@4
|
||||
DescribePixelFormat = DescribePixelFormat@16
|
||||
DeviceCapabilitiesExA = DeviceCapabilitiesExA@20
|
||||
DeviceCapabilitiesExW = DeviceCapabilitiesExW@20
|
||||
DrawEscape = DrawEscape@16
|
||||
Ellipse = Ellipse@20
|
||||
EndDoc = EndDoc@4
|
||||
EndPage = EndPage@4
|
||||
EndPath = EndPath@4
|
||||
EnumEnhMetaFile = EnumEnhMetaFile@20
|
||||
EnumFontFamiliesA = EnumFontFamiliesA@16
|
||||
EnumFontFamiliesExA = EnumFontFamiliesExA@20
|
||||
EnumFontFamiliesExW = EnumFontFamiliesExW@20
|
||||
EnumFontFamiliesW = EnumFontFamiliesW@16
|
||||
EnumFontsA = EnumFontsA@16
|
||||
EnumFontsW = EnumFontsW@16
|
||||
EnumICMProfilesA = EnumICMProfilesA@12
|
||||
EnumICMProfilesW = EnumICMProfilesW@12
|
||||
EnumMetaFile = EnumMetaFile@16
|
||||
EnumObjects = EnumObjects@16
|
||||
EqualRgn = EqualRgn@8
|
||||
Escape = Escape@20
|
||||
ExcludeClipRect = ExcludeClipRect@20
|
||||
ExtCreatePen = ExtCreatePen@20
|
||||
ExtCreateRegion = ExtCreateRegion@12
|
||||
ExtEscape = ExtEscape@24
|
||||
ExtFloodFill = ExtFloodFill@20
|
||||
ExtSelectClipRgn = ExtSelectClipRgn@12
|
||||
ExtTextOutA = ExtTextOutA@32
|
||||
ExtTextOutW = ExtTextOutW@32
|
||||
FillPath = FillPath@4
|
||||
FillRgn = FillRgn@12
|
||||
FixBrushOrgEx = FixBrushOrgEx@16
|
||||
FlattenPath = FlattenPath@4
|
||||
FloodFill = FloodFill@16
|
||||
FrameRgn = FrameRgn@20
|
||||
GdiComment = GdiComment@12
|
||||
GdiFlush = GdiFlush@0
|
||||
GdiGetBatchLimit = GdiGetBatchLimit@0
|
||||
GdiPlayDCScript = GdiPlayDCScript@24
|
||||
GdiPlayJournal = GdiPlayJournal@20
|
||||
GdiPlayScript = GdiPlayScript@28
|
||||
GdiSetBatchLimit = GdiSetBatchLimit@4
|
||||
GetArcDirection = GetArcDirection@4
|
||||
GetAspectRatioFilterEx = GetAspectRatioFilterEx@8
|
||||
GetBitmapBits = GetBitmapBits@12
|
||||
GetBitmapDimensionEx = GetBitmapDimensionEx@8
|
||||
GetBkColor = GetBkColor@4
|
||||
GetBkMode = GetBkMode@4
|
||||
GetBoundsRect = GetBoundsRect@12
|
||||
GetBrushOrgEx = GetBrushOrgEx@8
|
||||
GetCharABCWidthsA = GetCharABCWidthsA@16
|
||||
GetCharABCWidthsFloatA = GetCharABCWidthsFloatA@16
|
||||
GetCharABCWidthsFloatW = GetCharABCWidthsFloatW@16
|
||||
GetCharABCWidthsW = GetCharABCWidthsW@16
|
||||
GetCharWidth32A = GetCharWidth32A@16
|
||||
GetCharWidth32W = GetCharWidth32W@16
|
||||
GetCharWidthA = GetCharWidthA@16
|
||||
GetCharWidthFloatA = GetCharWidthFloatA@16
|
||||
GetCharWidthFloatW = GetCharWidthFloatW@16
|
||||
GetCharWidthW = GetCharWidthW@16
|
||||
GetCharacterPlacementA = GetCharacterPlacementA@24
|
||||
GetCharacterPlacementW = GetCharacterPlacementW@24
|
||||
GetClipBox = GetClipBox@8
|
||||
GetClipRgn = GetClipRgn@8
|
||||
GetColorAdjustment = GetColorAdjustment@8
|
||||
GetColorSpace = GetColorSpace@4
|
||||
GetCurrentObject = GetCurrentObject@8
|
||||
GetCurrentPositionEx = GetCurrentPositionEx@8
|
||||
GetDCOrgEx = GetDCOrgEx@8
|
||||
GetDIBColorTable = GetDIBColorTable@16
|
||||
GetDIBits = GetDIBits@28
|
||||
GetDeviceCaps = GetDeviceCaps@8
|
||||
GetDeviceGammaRamp = GetDeviceGammaRamp@8
|
||||
GetEnhMetaFileA = GetEnhMetaFileA@4
|
||||
GetEnhMetaFileBits = GetEnhMetaFileBits@12
|
||||
GetEnhMetaFileDescriptionA = GetEnhMetaFileDescriptionA@12
|
||||
GetEnhMetaFileDescriptionW = GetEnhMetaFileDescriptionW@12
|
||||
GetEnhMetaFileHeader = GetEnhMetaFileHeader@12
|
||||
GetEnhMetaFilePaletteEntries = GetEnhMetaFilePaletteEntries@12
|
||||
GetEnhMetaFilePixelFormat = GetEnhMetaFilePixelFormat@12
|
||||
GetEnhMetaFileW = GetEnhMetaFileW@4
|
||||
GetFontData = GetFontData@20
|
||||
GetFontLanguageInfo = GetFontLanguageInfo@4
|
||||
GetFontResourceInfo = GetFontResourceInfo@16
|
||||
GetFontResourceInfoW = GetFontResourceInfoW@16
|
||||
GetGlyphOutline = GetGlyphOutlineA@28
|
||||
GetGlyphOutlineA = GetGlyphOutlineA@28
|
||||
GetGlyphOutlineW = GetGlyphOutlineW@28
|
||||
GetGlyphOutlineWow = GetGlyphOutlineWow@28
|
||||
GetGraphicsMode = GetGraphicsMode@4
|
||||
GetICMProfileA = GetICMProfileA@12
|
||||
GetICMProfileW = GetICMProfileW@12
|
||||
GetKerningPairs = GetKerningPairsA@12
|
||||
GetKerningPairsA = GetKerningPairsA@12
|
||||
GetKerningPairsW = GetKerningPairsW@12
|
||||
GetLogColorSpaceA = GetLogColorSpaceA@12
|
||||
GetLogColorSpaceW = GetLogColorSpaceW@12
|
||||
GetMapMode = GetMapMode@4
|
||||
GetMetaFileA = GetMetaFileA@4
|
||||
GetMetaFileBitsEx = GetMetaFileBitsEx@12
|
||||
GetMetaFileW = GetMetaFileW@4
|
||||
GetMetaRgn = GetMetaRgn@8
|
||||
GetMiterLimit = GetMiterLimit@8
|
||||
GetNearestColor = GetNearestColor@8
|
||||
GetNearestPaletteIndex = GetNearestPaletteIndex@8
|
||||
GetObjectA = GetObjectA@12
|
||||
GetObjectType = GetObjectType@4
|
||||
GetObjectW = GetObjectW@12
|
||||
GetOutlineTextMetricsA = GetOutlineTextMetricsA@12
|
||||
GetOutlineTextMetricsW = GetOutlineTextMetricsW@12
|
||||
GetPaletteEntries = GetPaletteEntries@16
|
||||
GetPath = GetPath@16
|
||||
GetPixel = GetPixel@12
|
||||
GetPixelFormat = GetPixelFormat@4
|
||||
GetPolyFillMode = GetPolyFillMode@4
|
||||
GetROP2 = GetROP2@4
|
||||
GetRandomRgn = GetRandomRgn@12
|
||||
GetRasterizerCaps = GetRasterizerCaps@8
|
||||
GetRegionData = GetRegionData@12
|
||||
GetRelAbs = GetRelAbs@8
|
||||
GetRgnBox = GetRgnBox@8
|
||||
GetStockObject = GetStockObject@4
|
||||
GetStretchBltMode = GetStretchBltMode@4
|
||||
GetSystemPaletteEntries = GetSystemPaletteEntries@16
|
||||
GetSystemPaletteUse = GetSystemPaletteUse@4
|
||||
GetTextAlign = GetTextAlign@4
|
||||
GetTextCharacterExtra = GetTextCharacterExtra@4
|
||||
GetTextCharset = GetTextCharset@4
|
||||
GetTextCharsetInfo = GetTextCharsetInfo@12
|
||||
GetTextColor = GetTextColor@4
|
||||
GetTextExtentExPointA = GetTextExtentExPointA@28
|
||||
GetTextExtentExPointW = GetTextExtentExPointW@28
|
||||
GetTextExtentPoint32A = GetTextExtentPoint32A@16
|
||||
GetTextExtentPoint32W = GetTextExtentPoint32W@16
|
||||
GetTextExtentPointA = GetTextExtentPointA@16
|
||||
GetTextExtentPointW = GetTextExtentPointW@16
|
||||
GetTextFaceA = GetTextFaceA@12
|
||||
GetTextFaceW = GetTextFaceW@12
|
||||
GetTextMetricsA = GetTextMetricsA@8
|
||||
GetTextMetricsW = GetTextMetricsW@8
|
||||
GetViewportExtEx = GetViewportExtEx@8
|
||||
GetViewportOrgEx = GetViewportOrgEx@8
|
||||
GetWinMetaFileBits = GetWinMetaFileBits@20
|
||||
GetWindowExtEx = GetWindowExtEx@8
|
||||
GetWindowOrgEx = GetWindowOrgEx@8
|
||||
GetWorldTransform = GetWorldTransform@8
|
||||
IntersectClipRect = IntersectClipRect@20
|
||||
InvertRgn = InvertRgn@8
|
||||
LPtoDP = LPtoDP@12
|
||||
LineDDA = LineDDA@24
|
||||
LineTo = LineTo@12
|
||||
MaskBlt = MaskBlt@48
|
||||
ModifyWorldTransform = ModifyWorldTransform@12
|
||||
MoveToEx = MoveToEx@16
|
||||
OffsetClipRgn = OffsetClipRgn@12
|
||||
OffsetRgn = OffsetRgn@12
|
||||
OffsetViewportOrgEx = OffsetViewportOrgEx@16
|
||||
OffsetWindowOrgEx = OffsetWindowOrgEx@16
|
||||
PaintRgn = PaintRgn@8
|
||||
PatBlt = PatBlt@24
|
||||
PathToRegion = PathToRegion@4
|
||||
Pie = Pie@36
|
||||
PlayEnhMetaFile = PlayEnhMetaFile@12
|
||||
PlayEnhMetaFileRecord = PlayEnhMetaFileRecord@16
|
||||
PlayMetaFile = PlayMetaFile@8
|
||||
PlayMetaFileRecord = PlayMetaFileRecord@16
|
||||
PlgBlt = PlgBlt@40
|
||||
PolyBezier = PolyBezier@12
|
||||
PolyBezierTo = PolyBezierTo@12
|
||||
PolyDraw = PolyDraw@16
|
||||
PolyPolygon = PolyPolygon@16
|
||||
PolyPolyline = PolyPolyline@16
|
||||
PolyTextOutA = PolyTextOutA@12
|
||||
PolyTextOutW = PolyTextOutW@12
|
||||
Polygon = Polygon@12
|
||||
Polyline = Polyline@12
|
||||
PolylineTo = PolylineTo@12
|
||||
PtInRegion = PtInRegion@12
|
||||
PtVisible = PtVisible@12
|
||||
RealizePalette = RealizePalette@4
|
||||
RectInRegion = RectInRegion@8
|
||||
RectVisible = RectVisible@8
|
||||
Rectangle = Rectangle@20
|
||||
RemoveFontResourceA = RemoveFontResourceA@4
|
||||
RemoveFontResourceW = RemoveFontResourceW@4
|
||||
ResetDCA = ResetDCA@8
|
||||
ResetDCW = ResetDCW@8
|
||||
ResizePalette = ResizePalette@8
|
||||
RestoreDC = RestoreDC@8
|
||||
RoundRect = RoundRect@28
|
||||
SaveDC = SaveDC@4
|
||||
ScaleViewportExtEx = ScaleViewportExtEx@24
|
||||
ScaleWindowExtEx = ScaleWindowExtEx@24
|
||||
SelectBrushLocal = SelectBrushLocal@8
|
||||
SelectClipPath = SelectClipPath@8
|
||||
SelectClipRgn = SelectClipRgn@8
|
||||
SelectFontLocal = SelectFontLocal@8
|
||||
SelectObject = SelectObject@8
|
||||
SelectPalette = SelectPalette@12
|
||||
SetAbortProc = SetAbortProc@8
|
||||
SetArcDirection = SetArcDirection@8
|
||||
SetBitmapBits = SetBitmapBits@12
|
||||
SetBitmapDimensionEx = SetBitmapDimensionEx@16
|
||||
SetBkColor = SetBkColor@8
|
||||
SetBkMode = SetBkMode@8
|
||||
SetBoundsRect = SetBoundsRect@12
|
||||
SetBrushOrgEx = SetBrushOrgEx@16
|
||||
SetColorAdjustment = SetColorAdjustment@8
|
||||
SetColorSpace = SetColorSpace@8
|
||||
SetDIBColorTable = SetDIBColorTable@16
|
||||
SetDIBits = SetDIBits@28
|
||||
SetDIBitsToDevice = SetDIBitsToDevice@48
|
||||
SetDeviceGammaRamp = SetDeviceGammaRamp@8
|
||||
SetEnhMetaFileBits = SetEnhMetaFileBits@8
|
||||
SetFontEnumeration = SetFontEnumeration@4
|
||||
SetGraphicsMode = SetGraphicsMode@8
|
||||
SetICMMode = SetICMMode@8
|
||||
SetICMProfileA = SetICMProfileA@8
|
||||
SetICMProfileW = SetICMProfileW@8
|
||||
SetMapMode = SetMapMode@8
|
||||
SetMapperFlags = SetMapperFlags@8
|
||||
SetMetaFileBitsEx = SetMetaFileBitsEx@8
|
||||
SetMetaRgn = SetMetaRgn@4
|
||||
SetMiterLimit = SetMiterLimit@12
|
||||
SetPaletteEntries = SetPaletteEntries@16
|
||||
SetPixel = SetPixel@16
|
||||
SetPixelFormat = SetPixelFormat@12
|
||||
SetPixelV = SetPixelV@16
|
||||
SetPolyFillMode = SetPolyFillMode@8
|
||||
SetROP2 = SetROP2@8
|
||||
SetRectRgn = SetRectRgn@20
|
||||
SetRelAbs = SetRelAbs@8
|
||||
SetStretchBltMode = SetStretchBltMode@8
|
||||
SetSystemPaletteUse = SetSystemPaletteUse@8
|
||||
SetTextAlign = SetTextAlign@8
|
||||
SetTextCharacterExtra = SetTextCharacterExtra@8
|
||||
SetTextColor = SetTextColor@8
|
||||
SetTextJustification = SetTextJustification@12
|
||||
SetViewportExtEx = SetViewportExtEx@16
|
||||
SetViewportOrgEx = SetViewportOrgEx@16
|
||||
SetWinMetaFileBits = SetWinMetaFileBits@16
|
||||
SetWindowExtEx = SetWindowExtEx@16
|
||||
SetWindowOrgEx = SetWindowOrgEx@16
|
||||
SetWorldTransform = SetWorldTransform@8
|
||||
StartDocA = StartDocA@8
|
||||
StartDocW = StartDocW@8
|
||||
StartPage = StartPage@4
|
||||
StretchBlt = StretchBlt@44
|
||||
StretchDIBits = StretchDIBits@52
|
||||
StrokeAndFillPath = StrokeAndFillPath@4
|
||||
StrokePath = StrokePath@4
|
||||
SwapBuffers = SwapBuffers@4
|
||||
TextOutA = TextOutA@20
|
||||
TextOutW = TextOutW@20
|
||||
TranslateCharsetInfo = TranslateCharsetInfo@12
|
||||
UnrealizeObject = UnrealizeObject@4
|
||||
UpdateColors = UpdateColors@4
|
||||
UpdateICMRegKey = UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyA = UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyW = UpdateICMRegKeyW@16
|
||||
WidenPath = WidenPath@4
|
||||
gdiPlaySpoolStream = gdiPlaySpoolStream@24
|
||||
AbortDoc@4
|
||||
AbortPath@4
|
||||
AddFontResourceA@4
|
||||
AddFontResourceW@4
|
||||
AngleArc@24
|
||||
AnimatePalette@16
|
||||
Arc@36
|
||||
ArcTo@36
|
||||
BeginPath@4
|
||||
BitBlt@36
|
||||
CancelDC@4
|
||||
CheckColorsInGamut@16
|
||||
ChoosePixelFormat@8
|
||||
Chord@36
|
||||
CloseEnhMetaFile@4
|
||||
CloseFigure@4
|
||||
CloseMetaFile@4
|
||||
ColorMatchToTarget@12
|
||||
CombineRgn@16
|
||||
CombineTransform@12
|
||||
CopyEnhMetaFileA@8
|
||||
CopyEnhMetaFileW@8
|
||||
CopyMetaFileA@8
|
||||
CopyMetaFileW@8
|
||||
CreateBitmap@20
|
||||
CreateBitmapIndirect@4
|
||||
CreateBrushIndirect@4
|
||||
CreateColorSpaceA@4
|
||||
CreateColorSpaceW@4
|
||||
CreateCompatibleBitmap@12
|
||||
CreateCompatibleDC@4
|
||||
CreateDCA@16
|
||||
CreateDCW@16
|
||||
CreateDIBPatternBrush@8
|
||||
CreateDIBPatternBrushPt@8
|
||||
CreateDIBSection@24
|
||||
CreateDIBitmap@24
|
||||
CreateDiscardableBitmap@12
|
||||
CreateEllipticRgn@16
|
||||
CreateEllipticRgnIndirect@4
|
||||
CreateEnhMetaFileA@16
|
||||
CreateEnhMetaFileW@16
|
||||
CreateFontA@56
|
||||
CreateFontIndirectA@4
|
||||
CreateFontIndirectW@4
|
||||
CreateFontW@56
|
||||
CreateHalftonePalette@4
|
||||
CreateHatchBrush@8
|
||||
CreateICA@16
|
||||
CreateICW@16
|
||||
CreateMetaFileA@4
|
||||
CreateMetaFileW@4
|
||||
CreatePalette@4
|
||||
CreatePatternBrush@4
|
||||
CreatePen@12
|
||||
CreatePenIndirect@4
|
||||
CreatePolyPolygonRgn@16
|
||||
CreatePolygonRgn@12
|
||||
CreateRectRgn@16
|
||||
CreateRectRgnIndirect@4
|
||||
CreateRoundRectRgn@24
|
||||
CreateScalableFontResourceA@16
|
||||
CreateScalableFontResourceW@16
|
||||
CreateSolidBrush@4
|
||||
DPtoLP@12
|
||||
DeleteColorSpace@4
|
||||
DeleteDC@4
|
||||
DeleteEnhMetaFile@4
|
||||
DeleteMetaFile@4
|
||||
DeleteObject@4
|
||||
DescribePixelFormat@16
|
||||
DeviceCapabilitiesExA@20
|
||||
DeviceCapabilitiesExW@20
|
||||
DrawEscape@16
|
||||
Ellipse@20
|
||||
EndDoc@4
|
||||
EndPage@4
|
||||
EndPath@4
|
||||
EnumEnhMetaFile@20
|
||||
EnumFontFamiliesA@16
|
||||
EnumFontFamiliesExA@20
|
||||
EnumFontFamiliesExW@20
|
||||
EnumFontFamiliesW@16
|
||||
EnumFontsA@16
|
||||
EnumFontsW@16
|
||||
EnumICMProfilesA@12
|
||||
EnumICMProfilesW@12
|
||||
EnumMetaFile@16
|
||||
EnumObjects@16
|
||||
EqualRgn@8
|
||||
Escape@20
|
||||
ExcludeClipRect@20
|
||||
ExtCreatePen@20
|
||||
ExtCreateRegion@12
|
||||
ExtEscape@24
|
||||
ExtFloodFill@20
|
||||
ExtSelectClipRgn@12
|
||||
ExtTextOutA@32
|
||||
ExtTextOutW@32
|
||||
FillPath@4
|
||||
FillRgn@12
|
||||
FixBrushOrgEx@16
|
||||
FlattenPath@4
|
||||
FloodFill@16
|
||||
FrameRgn@20
|
||||
GdiComment@12
|
||||
GdiFlush@0
|
||||
GdiGetBatchLimit@0
|
||||
GdiPlayDCScript@24
|
||||
GdiPlayJournal@20
|
||||
GdiPlayScript@28
|
||||
GdiSetBatchLimit@4
|
||||
GetArcDirection@4
|
||||
GetAspectRatioFilterEx@8
|
||||
GetBitmapBits@12
|
||||
GetBitmapDimensionEx@8
|
||||
GetBkColor@4
|
||||
GetBkMode@4
|
||||
GetBoundsRect@12
|
||||
GetBrushOrgEx@8
|
||||
GetCharABCWidthsA@16
|
||||
GetCharABCWidthsFloatA@16
|
||||
GetCharABCWidthsFloatW@16
|
||||
GetCharABCWidthsW@16
|
||||
GetCharWidth32A@16
|
||||
GetCharWidth32W@16
|
||||
GetCharWidthA@16
|
||||
GetCharWidthFloatA@16
|
||||
GetCharWidthFloatW@16
|
||||
GetCharWidthW@16
|
||||
GetCharacterPlacementA@24
|
||||
GetCharacterPlacementW@24
|
||||
GetClipBox@8
|
||||
GetClipRgn@8
|
||||
GetColorAdjustment@8
|
||||
GetColorSpace@4
|
||||
GetCurrentObject@8
|
||||
GetCurrentPositionEx@8
|
||||
GetDCOrgEx@8
|
||||
GetDIBColorTable@16
|
||||
GetDIBits@28
|
||||
GetDeviceCaps@8
|
||||
GetDeviceGammaRamp@8
|
||||
GetEnhMetaFileA@4
|
||||
GetEnhMetaFileBits@12
|
||||
GetEnhMetaFileDescriptionA@12
|
||||
GetEnhMetaFileDescriptionW@12
|
||||
GetEnhMetaFileHeader@12
|
||||
GetEnhMetaFilePaletteEntries@12
|
||||
GetEnhMetaFilePixelFormat@12
|
||||
GetEnhMetaFileW@4
|
||||
GetFontData@20
|
||||
GetFontLanguageInfo@4
|
||||
GetFontResourceInfo@16
|
||||
GetFontResourceInfoW@16
|
||||
GetGlyphOutlineA@28
|
||||
GetGlyphOutlineA@28
|
||||
GetGlyphOutlineW@28
|
||||
GetGlyphOutlineWow@28
|
||||
GetGraphicsMode@4
|
||||
GetICMProfileA@12
|
||||
GetICMProfileW@12
|
||||
GetKerningPairsA@12
|
||||
GetKerningPairsA@12
|
||||
GetKerningPairsW@12
|
||||
GetLogColorSpaceA@12
|
||||
GetLogColorSpaceW@12
|
||||
GetMapMode@4
|
||||
GetMetaFileA@4
|
||||
GetMetaFileBitsEx@12
|
||||
GetMetaFileW@4
|
||||
GetMetaRgn@8
|
||||
GetMiterLimit@8
|
||||
GetNearestColor@8
|
||||
GetNearestPaletteIndex@8
|
||||
GetObjectA@12
|
||||
GetObjectType@4
|
||||
GetObjectW@12
|
||||
GetOutlineTextMetricsA@12
|
||||
GetOutlineTextMetricsW@12
|
||||
GetPaletteEntries@16
|
||||
GetPath@16
|
||||
GetPixel@12
|
||||
GetPixelFormat@4
|
||||
GetPolyFillMode@4
|
||||
GetROP2@4
|
||||
GetRandomRgn@12
|
||||
GetRasterizerCaps@8
|
||||
GetRegionData@12
|
||||
GetRelAbs@8
|
||||
GetRgnBox@8
|
||||
GetStockObject@4
|
||||
GetStretchBltMode@4
|
||||
GetSystemPaletteEntries@16
|
||||
GetSystemPaletteUse@4
|
||||
GetTextAlign@4
|
||||
GetTextCharacterExtra@4
|
||||
GetTextCharset@4
|
||||
GetTextCharsetInfo@12
|
||||
GetTextColor@4
|
||||
GetTextExtentExPointA@28
|
||||
GetTextExtentExPointW@28
|
||||
GetTextExtentPoint32A@16
|
||||
GetTextExtentPoint32W@16
|
||||
GetTextExtentPointA@16
|
||||
GetTextExtentPointW@16
|
||||
GetTextFaceA@12
|
||||
GetTextFaceW@12
|
||||
GetTextMetricsA@8
|
||||
GetTextMetricsW@8
|
||||
GetViewportExtEx@8
|
||||
GetViewportOrgEx@8
|
||||
GetWinMetaFileBits@20
|
||||
GetWindowExtEx@8
|
||||
GetWindowOrgEx@8
|
||||
GetWorldTransform@8
|
||||
IntersectClipRect@20
|
||||
InvertRgn@8
|
||||
LPtoDP@12
|
||||
LineDDA@24
|
||||
LineTo@12
|
||||
MaskBlt@48
|
||||
ModifyWorldTransform@12
|
||||
MoveToEx@16
|
||||
OffsetClipRgn@12
|
||||
OffsetRgn@12
|
||||
OffsetViewportOrgEx@16
|
||||
OffsetWindowOrgEx@16
|
||||
PaintRgn@8
|
||||
PatBlt@24
|
||||
PathToRegion@4
|
||||
Pie@36
|
||||
PlayEnhMetaFile@12
|
||||
PlayEnhMetaFileRecord@16
|
||||
PlayMetaFile@8
|
||||
PlayMetaFileRecord@16
|
||||
PlgBlt@40
|
||||
PolyBezier@12
|
||||
PolyBezierTo@12
|
||||
PolyDraw@16
|
||||
PolyPolygon@16
|
||||
PolyPolyline@16
|
||||
PolyTextOutA@12
|
||||
PolyTextOutW@12
|
||||
Polygon@12
|
||||
Polyline@12
|
||||
PolylineTo@12
|
||||
PtInRegion@12
|
||||
PtVisible@12
|
||||
RealizePalette@4
|
||||
RectInRegion@8
|
||||
RectVisible@8
|
||||
Rectangle@20
|
||||
RemoveFontResourceA@4
|
||||
RemoveFontResourceW@4
|
||||
ResetDCA@8
|
||||
ResetDCW@8
|
||||
ResizePalette@8
|
||||
RestoreDC@8
|
||||
RoundRect@28
|
||||
SaveDC@4
|
||||
ScaleViewportExtEx@24
|
||||
ScaleWindowExtEx@24
|
||||
SelectBrushLocal@8
|
||||
SelectClipPath@8
|
||||
SelectClipRgn@8
|
||||
SelectFontLocal@8
|
||||
SelectObject@8
|
||||
SelectPalette@12
|
||||
SetAbortProc@8
|
||||
SetArcDirection@8
|
||||
SetBitmapBits@12
|
||||
SetBitmapDimensionEx@16
|
||||
SetBkColor@8
|
||||
SetBkMode@8
|
||||
SetBoundsRect@12
|
||||
SetBrushOrgEx@16
|
||||
SetColorAdjustment@8
|
||||
SetColorSpace@8
|
||||
SetDIBColorTable@16
|
||||
SetDIBits@28
|
||||
SetDIBitsToDevice@48
|
||||
SetDeviceGammaRamp@8
|
||||
SetEnhMetaFileBits@8
|
||||
SetFontEnumeration@4
|
||||
SetGraphicsMode@8
|
||||
SetICMMode@8
|
||||
SetICMProfileA@8
|
||||
SetICMProfileW@8
|
||||
SetMapMode@8
|
||||
SetMapperFlags@8
|
||||
SetMetaFileBitsEx@8
|
||||
SetMetaRgn@4
|
||||
SetMiterLimit@12
|
||||
SetPaletteEntries@16
|
||||
SetPixel@16
|
||||
SetPixelFormat@12
|
||||
SetPixelV@16
|
||||
SetPolyFillMode@8
|
||||
SetROP2@8
|
||||
SetRectRgn@20
|
||||
SetRelAbs@8
|
||||
SetStretchBltMode@8
|
||||
SetSystemPaletteUse@8
|
||||
SetTextAlign@8
|
||||
SetTextCharacterExtra@8
|
||||
SetTextColor@8
|
||||
SetTextJustification@12
|
||||
SetViewportExtEx@16
|
||||
SetViewportOrgEx@16
|
||||
SetWinMetaFileBits@16
|
||||
SetWindowExtEx@16
|
||||
SetWindowOrgEx@16
|
||||
SetWorldTransform@8
|
||||
StartDocA@8
|
||||
StartDocW@8
|
||||
StartPage@4
|
||||
StretchBlt@44
|
||||
StretchDIBits@52
|
||||
StrokeAndFillPath@4
|
||||
StrokePath@4
|
||||
SwapBuffers@4
|
||||
TextOutA@20
|
||||
TextOutW@20
|
||||
TranslateCharsetInfo@12
|
||||
UnrealizeObject@4
|
||||
UpdateColors@4
|
||||
UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyW@16
|
||||
WidenPath@4
|
||||
gdiPlaySpoolStream@24
|
||||
|
|
342
reactos/lib/gdi32/gdi32.edf
Normal file
342
reactos/lib/gdi32/gdi32.edf
Normal file
|
@ -0,0 +1,342 @@
|
|||
; $Id: gdi32.edf,v 1.1 1999/07/17 23:10:19 ea Exp $
|
||||
;
|
||||
; gdi32.def
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
; From Anders Norlander's w32api-0.1.5 gdi32.def.
|
||||
;
|
||||
LIBRARY gdi32
|
||||
EXPORTS
|
||||
AbortDoc=AbortDoc@4
|
||||
AbortPath=AbortPath@4
|
||||
AddFontResourceA=AddFontResourceA@4
|
||||
AddFontResourceW=AddFontResourceW@4
|
||||
AngleArc=AngleArc@24
|
||||
AnimatePalette=AnimatePalette@16
|
||||
Arc=Arc@36
|
||||
ArcTo=ArcTo@36
|
||||
BeginPath=BeginPath@4
|
||||
BitBlt=BitBlt@36
|
||||
CancelDC=CancelDC@4
|
||||
CheckColorsInGamut=CheckColorsInGamut@16
|
||||
ChoosePixelFormat=ChoosePixelFormat@8
|
||||
Chord=Chord@36
|
||||
CloseEnhMetaFile=CloseEnhMetaFile@4
|
||||
CloseFigure=CloseFigure@4
|
||||
CloseMetaFile=CloseMetaFile@4
|
||||
ColorMatchToTarget=ColorMatchToTarget@12
|
||||
CombineRgn=CombineRgn@16
|
||||
CombineTransform=CombineTransform@12
|
||||
CopyEnhMetaFileA=CopyEnhMetaFileA@8
|
||||
CopyEnhMetaFileW=CopyEnhMetaFileW@8
|
||||
CopyMetaFileA=CopyMetaFileA@8
|
||||
CopyMetaFileW=CopyMetaFileW@8
|
||||
CreateBitmap=CreateBitmap@20
|
||||
CreateBitmapIndirect=CreateBitmapIndirect@4
|
||||
CreateBrushIndirect=CreateBrushIndirect@4
|
||||
CreateColorSpaceA=CreateColorSpaceA@4
|
||||
CreateColorSpaceW=CreateColorSpaceW@4
|
||||
CreateCompatibleBitmap=CreateCompatibleBitmap@12
|
||||
CreateCompatibleDC=CreateCompatibleDC@4
|
||||
CreateDCA=CreateDCA@16
|
||||
CreateDCW=CreateDCW@16
|
||||
CreateDIBPatternBrush=CreateDIBPatternBrush@8
|
||||
CreateDIBPatternBrushPt=CreateDIBPatternBrushPt@8
|
||||
CreateDIBSection=CreateDIBSection@24
|
||||
CreateDIBitmap=CreateDIBitmap@24
|
||||
CreateDiscardableBitmap=CreateDiscardableBitmap@12
|
||||
CreateEllipticRgn=CreateEllipticRgn@16
|
||||
CreateEllipticRgnIndirect=CreateEllipticRgnIndirect@4
|
||||
CreateEnhMetaFileA=CreateEnhMetaFileA@16
|
||||
CreateEnhMetaFileW=CreateEnhMetaFileW@16
|
||||
CreateFontA=CreateFontA@56
|
||||
CreateFontIndirectA=CreateFontIndirectA@4
|
||||
CreateFontIndirectW=CreateFontIndirectW@4
|
||||
CreateFontW=CreateFontW@56
|
||||
CreateHalftonePalette=CreateHalftonePalette@4
|
||||
CreateHatchBrush=CreateHatchBrush@8
|
||||
CreateICA=CreateICA@16
|
||||
CreateICW=CreateICW@16
|
||||
CreateMetaFileA=CreateMetaFileA@4
|
||||
CreateMetaFileW=CreateMetaFileW@4
|
||||
CreatePalette=CreatePalette@4
|
||||
CreatePatternBrush=CreatePatternBrush@4
|
||||
CreatePen=CreatePen@12
|
||||
CreatePenIndirect=CreatePenIndirect@4
|
||||
CreatePolyPolygonRgn=CreatePolyPolygonRgn@16
|
||||
CreatePolygonRgn=CreatePolygonRgn@12
|
||||
CreateRectRgn=CreateRectRgn@16
|
||||
CreateRectRgnIndirect=CreateRectRgnIndirect@4
|
||||
CreateRoundRectRgn=CreateRoundRectRgn@24
|
||||
CreateScalableFontResourceA=CreateScalableFontResourceA@16
|
||||
CreateScalableFontResourceW=CreateScalableFontResourceW@16
|
||||
CreateSolidBrush=CreateSolidBrush@4
|
||||
DPtoLP=DPtoLP@12
|
||||
DeleteColorSpace=DeleteColorSpace@4
|
||||
DeleteDC=DeleteDC@4
|
||||
DeleteEnhMetaFile=DeleteEnhMetaFile@4
|
||||
DeleteMetaFile=DeleteMetaFile@4
|
||||
DeleteObject=DeleteObject@4
|
||||
DescribePixelFormat=DescribePixelFormat@16
|
||||
DeviceCapabilitiesExA=DeviceCapabilitiesExA@20
|
||||
DeviceCapabilitiesExW=DeviceCapabilitiesExW@20
|
||||
DrawEscape=DrawEscape@16
|
||||
Ellipse=Ellipse@20
|
||||
EndDoc=EndDoc@4
|
||||
EndPage=EndPage@4
|
||||
EndPath=EndPath@4
|
||||
EnumEnhMetaFile=EnumEnhMetaFile@20
|
||||
EnumFontFamiliesA=EnumFontFamiliesA@16
|
||||
EnumFontFamiliesExA=EnumFontFamiliesExA@20
|
||||
EnumFontFamiliesExW=EnumFontFamiliesExW@20
|
||||
EnumFontFamiliesW=EnumFontFamiliesW@16
|
||||
EnumFontsA=EnumFontsA@16
|
||||
EnumFontsW=EnumFontsW@16
|
||||
EnumICMProfilesA=EnumICMProfilesA@12
|
||||
EnumICMProfilesW=EnumICMProfilesW@12
|
||||
EnumMetaFile=EnumMetaFile@16
|
||||
EnumObjects=EnumObjects@16
|
||||
EqualRgn=EqualRgn@8
|
||||
Escape=Escape@20
|
||||
ExcludeClipRect=ExcludeClipRect@20
|
||||
ExtCreatePen=ExtCreatePen@20
|
||||
ExtCreateRegion=ExtCreateRegion@12
|
||||
ExtEscape=ExtEscape@24
|
||||
ExtFloodFill=ExtFloodFill@20
|
||||
ExtSelectClipRgn=ExtSelectClipRgn@12
|
||||
ExtTextOutA=ExtTextOutA@32
|
||||
ExtTextOutW=ExtTextOutW@32
|
||||
FillPath=FillPath@4
|
||||
FillRgn=FillRgn@12
|
||||
FixBrushOrgEx=FixBrushOrgEx@16
|
||||
FlattenPath=FlattenPath@4
|
||||
FloodFill=FloodFill@16
|
||||
FrameRgn=FrameRgn@20
|
||||
GdiComment=GdiComment@12
|
||||
GdiFlush=GdiFlush@0
|
||||
GdiGetBatchLimit=GdiGetBatchLimit@0
|
||||
GdiPlayDCScript=GdiPlayDCScript@24
|
||||
GdiPlayJournal=GdiPlayJournal@20
|
||||
GdiPlayScript=GdiPlayScript@28
|
||||
GdiSetBatchLimit=GdiSetBatchLimit@4
|
||||
GetArcDirection=GetArcDirection@4
|
||||
GetAspectRatioFilterEx=GetAspectRatioFilterEx@8
|
||||
GetBitmapBits=GetBitmapBits@12
|
||||
GetBitmapDimensionEx=GetBitmapDimensionEx@8
|
||||
GetBkColor=GetBkColor@4
|
||||
GetBkMode=GetBkMode@4
|
||||
GetBoundsRect=GetBoundsRect@12
|
||||
GetBrushOrgEx=GetBrushOrgEx@8
|
||||
GetCharABCWidthsA=GetCharABCWidthsA@16
|
||||
GetCharABCWidthsFloatA=GetCharABCWidthsFloatA@16
|
||||
GetCharABCWidthsFloatW=GetCharABCWidthsFloatW@16
|
||||
GetCharABCWidthsW=GetCharABCWidthsW@16
|
||||
GetCharWidth32A=GetCharWidth32A@16
|
||||
GetCharWidth32W=GetCharWidth32W@16
|
||||
GetCharWidthA=GetCharWidthA@16
|
||||
GetCharWidthFloatA=GetCharWidthFloatA@16
|
||||
GetCharWidthFloatW=GetCharWidthFloatW@16
|
||||
GetCharWidthW=GetCharWidthW@16
|
||||
GetCharacterPlacementA=GetCharacterPlacementA@24
|
||||
GetCharacterPlacementW=GetCharacterPlacementW@24
|
||||
GetClipBox=GetClipBox@8
|
||||
GetClipRgn=GetClipRgn@8
|
||||
GetColorAdjustment=GetColorAdjustment@8
|
||||
GetColorSpace=GetColorSpace@4
|
||||
GetCurrentObject=GetCurrentObject@8
|
||||
GetCurrentPositionEx=GetCurrentPositionEx@8
|
||||
GetDCOrgEx=GetDCOrgEx@8
|
||||
GetDIBColorTable=GetDIBColorTable@16
|
||||
GetDIBits=GetDIBits@28
|
||||
GetDeviceCaps=GetDeviceCaps@8
|
||||
GetDeviceGammaRamp=GetDeviceGammaRamp@8
|
||||
GetEnhMetaFileA=GetEnhMetaFileA@4
|
||||
GetEnhMetaFileBits=GetEnhMetaFileBits@12
|
||||
GetEnhMetaFileDescriptionA=GetEnhMetaFileDescriptionA@12
|
||||
GetEnhMetaFileDescriptionW=GetEnhMetaFileDescriptionW@12
|
||||
GetEnhMetaFileHeader=GetEnhMetaFileHeader@12
|
||||
GetEnhMetaFilePaletteEntries=GetEnhMetaFilePaletteEntries@12
|
||||
GetEnhMetaFilePixelFormat=GetEnhMetaFilePixelFormat@12
|
||||
GetEnhMetaFileW=GetEnhMetaFileW@4
|
||||
GetFontData=GetFontData@20
|
||||
GetFontLanguageInfo=GetFontLanguageInfo@4
|
||||
GetFontResourceInfo=GetFontResourceInfo@16
|
||||
GetFontResourceInfoW=GetFontResourceInfoW@16
|
||||
GetGlyphOutlineA=GetGlyphOutlineA@28
|
||||
GetGlyphOutlineA=GetGlyphOutlineA@28
|
||||
GetGlyphOutlineW=GetGlyphOutlineW@28
|
||||
GetGlyphOutlineWow=GetGlyphOutlineWow@28
|
||||
GetGraphicsMode=GetGraphicsMode@4
|
||||
GetICMProfileA=GetICMProfileA@12
|
||||
GetICMProfileW=GetICMProfileW@12
|
||||
GetKerningPairsA=GetKerningPairsA@12
|
||||
GetKerningPairsA=GetKerningPairsA@12
|
||||
GetKerningPairsW=GetKerningPairsW@12
|
||||
GetLogColorSpaceA=GetLogColorSpaceA@12
|
||||
GetLogColorSpaceW=GetLogColorSpaceW@12
|
||||
GetMapMode=GetMapMode@4
|
||||
GetMetaFileA=GetMetaFileA@4
|
||||
GetMetaFileBitsEx=GetMetaFileBitsEx@12
|
||||
GetMetaFileW=GetMetaFileW@4
|
||||
GetMetaRgn=GetMetaRgn@8
|
||||
GetMiterLimit=GetMiterLimit@8
|
||||
GetNearestColor=GetNearestColor@8
|
||||
GetNearestPaletteIndex=GetNearestPaletteIndex@8
|
||||
GetObjectA=GetObjectA@12
|
||||
GetObjectType=GetObjectType@4
|
||||
GetObjectW=GetObjectW@12
|
||||
GetOutlineTextMetricsA=GetOutlineTextMetricsA@12
|
||||
GetOutlineTextMetricsW=GetOutlineTextMetricsW@12
|
||||
GetPaletteEntries=GetPaletteEntries@16
|
||||
GetPath=GetPath@16
|
||||
GetPixel=GetPixel@12
|
||||
GetPixelFormat=GetPixelFormat@4
|
||||
GetPolyFillMode=GetPolyFillMode@4
|
||||
GetROP2=GetROP2@4
|
||||
GetRandomRgn=GetRandomRgn@12
|
||||
GetRasterizerCaps=GetRasterizerCaps@8
|
||||
GetRegionData=GetRegionData@12
|
||||
GetRelAbs=GetRelAbs@8
|
||||
GetRgnBox=GetRgnBox@8
|
||||
GetStockObject=GetStockObject@4
|
||||
GetStretchBltMode=GetStretchBltMode@4
|
||||
GetSystemPaletteEntries=GetSystemPaletteEntries@16
|
||||
GetSystemPaletteUse=GetSystemPaletteUse@4
|
||||
GetTextAlign=GetTextAlign@4
|
||||
GetTextCharacterExtra=GetTextCharacterExtra@4
|
||||
GetTextCharset=GetTextCharset@4
|
||||
GetTextCharsetInfo=GetTextCharsetInfo@12
|
||||
GetTextColor=GetTextColor@4
|
||||
GetTextExtentExPointA=GetTextExtentExPointA@28
|
||||
GetTextExtentExPointW=GetTextExtentExPointW@28
|
||||
GetTextExtentPoint32A=GetTextExtentPoint32A@16
|
||||
GetTextExtentPoint32W=GetTextExtentPoint32W@16
|
||||
GetTextExtentPointA=GetTextExtentPointA@16
|
||||
GetTextExtentPointW=GetTextExtentPointW@16
|
||||
GetTextFaceA=GetTextFaceA@12
|
||||
GetTextFaceW=GetTextFaceW@12
|
||||
GetTextMetricsA=GetTextMetricsA@8
|
||||
GetTextMetricsW=GetTextMetricsW@8
|
||||
GetViewportExtEx=GetViewportExtEx@8
|
||||
GetViewportOrgEx=GetViewportOrgEx@8
|
||||
GetWinMetaFileBits=GetWinMetaFileBits@20
|
||||
GetWindowExtEx=GetWindowExtEx@8
|
||||
GetWindowOrgEx=GetWindowOrgEx@8
|
||||
GetWorldTransform=GetWorldTransform@8
|
||||
IntersectClipRect=IntersectClipRect@20
|
||||
InvertRgn=InvertRgn@8
|
||||
LPtoDP=LPtoDP@12
|
||||
LineDDA=LineDDA@24
|
||||
LineTo=LineTo@12
|
||||
MaskBlt=MaskBlt@48
|
||||
ModifyWorldTransform=ModifyWorldTransform@12
|
||||
MoveToEx=MoveToEx@16
|
||||
OffsetClipRgn=OffsetClipRgn@12
|
||||
OffsetRgn=OffsetRgn@12
|
||||
OffsetViewportOrgEx=OffsetViewportOrgEx@16
|
||||
OffsetWindowOrgEx=OffsetWindowOrgEx@16
|
||||
PaintRgn=PaintRgn@8
|
||||
PatBlt=PatBlt@24
|
||||
PathToRegion=PathToRegion@4
|
||||
Pie=Pie@36
|
||||
PlayEnhMetaFile=PlayEnhMetaFile@12
|
||||
PlayEnhMetaFileRecord=PlayEnhMetaFileRecord@16
|
||||
PlayMetaFile=PlayMetaFile@8
|
||||
PlayMetaFileRecord=PlayMetaFileRecord@16
|
||||
PlgBlt=PlgBlt@40
|
||||
PolyBezier=PolyBezier@12
|
||||
PolyBezierTo=PolyBezierTo@12
|
||||
PolyDraw=PolyDraw@16
|
||||
PolyPolygon=PolyPolygon@16
|
||||
PolyPolyline=PolyPolyline@16
|
||||
PolyTextOutA=PolyTextOutA@12
|
||||
PolyTextOutW=PolyTextOutW@12
|
||||
Polygon=Polygon@12
|
||||
Polyline=Polyline@12
|
||||
PolylineTo=PolylineTo@12
|
||||
PtInRegion=PtInRegion@12
|
||||
PtVisible=PtVisible@12
|
||||
RealizePalette=RealizePalette@4
|
||||
RectInRegion=RectInRegion@8
|
||||
RectVisible=RectVisible@8
|
||||
Rectangle=Rectangle@20
|
||||
RemoveFontResourceA=RemoveFontResourceA@4
|
||||
RemoveFontResourceW=RemoveFontResourceW@4
|
||||
ResetDCA=ResetDCA@8
|
||||
ResetDCW=ResetDCW@8
|
||||
ResizePalette=ResizePalette@8
|
||||
RestoreDC=RestoreDC@8
|
||||
RoundRect=RoundRect@28
|
||||
SaveDC=SaveDC@4
|
||||
ScaleViewportExtEx=ScaleViewportExtEx@24
|
||||
ScaleWindowExtEx=ScaleWindowExtEx@24
|
||||
SelectBrushLocal=SelectBrushLocal@8
|
||||
SelectClipPath=SelectClipPath@8
|
||||
SelectClipRgn=SelectClipRgn@8
|
||||
SelectFontLocal=SelectFontLocal@8
|
||||
SelectObject=SelectObject@8
|
||||
SelectPalette=SelectPalette@12
|
||||
SetAbortProc=SetAbortProc@8
|
||||
SetArcDirection=SetArcDirection@8
|
||||
SetBitmapBits=SetBitmapBits@12
|
||||
SetBitmapDimensionEx=SetBitmapDimensionEx@16
|
||||
SetBkColor=SetBkColor@8
|
||||
SetBkMode=SetBkMode@8
|
||||
SetBoundsRect=SetBoundsRect@12
|
||||
SetBrushOrgEx=SetBrushOrgEx@16
|
||||
SetColorAdjustment=SetColorAdjustment@8
|
||||
SetColorSpace=SetColorSpace@8
|
||||
SetDIBColorTable=SetDIBColorTable@16
|
||||
SetDIBits=SetDIBits@28
|
||||
SetDIBitsToDevice=SetDIBitsToDevice@48
|
||||
SetDeviceGammaRamp=SetDeviceGammaRamp@8
|
||||
SetEnhMetaFileBits=SetEnhMetaFileBits@8
|
||||
SetFontEnumeration=SetFontEnumeration@4
|
||||
SetGraphicsMode=SetGraphicsMode@8
|
||||
SetICMMode=SetICMMode@8
|
||||
SetICMProfileA=SetICMProfileA@8
|
||||
SetICMProfileW=SetICMProfileW@8
|
||||
SetMapMode=SetMapMode@8
|
||||
SetMapperFlags=SetMapperFlags@8
|
||||
SetMetaFileBitsEx=SetMetaFileBitsEx@8
|
||||
SetMetaRgn=SetMetaRgn@4
|
||||
SetMiterLimit=SetMiterLimit@12
|
||||
SetPaletteEntries=SetPaletteEntries@16
|
||||
SetPixel=SetPixel@16
|
||||
SetPixelFormat=SetPixelFormat@12
|
||||
SetPixelV=SetPixelV@16
|
||||
SetPolyFillMode=SetPolyFillMode@8
|
||||
SetROP2=SetROP2@8
|
||||
SetRectRgn=SetRectRgn@20
|
||||
SetRelAbs=SetRelAbs@8
|
||||
SetStretchBltMode=SetStretchBltMode@8
|
||||
SetSystemPaletteUse=SetSystemPaletteUse@8
|
||||
SetTextAlign=SetTextAlign@8
|
||||
SetTextCharacterExtra=SetTextCharacterExtra@8
|
||||
SetTextColor=SetTextColor@8
|
||||
SetTextJustification=SetTextJustification@12
|
||||
SetViewportExtEx=SetViewportExtEx@16
|
||||
SetViewportOrgEx=SetViewportOrgEx@16
|
||||
SetWinMetaFileBits=SetWinMetaFileBits@16
|
||||
SetWindowExtEx=SetWindowExtEx@16
|
||||
SetWindowOrgEx=SetWindowOrgEx@16
|
||||
SetWorldTransform=SetWorldTransform@8
|
||||
StartDocA=StartDocA@8
|
||||
StartDocW=StartDocW@8
|
||||
StartPage=StartPage@4
|
||||
StretchBlt=StretchBlt@44
|
||||
StretchDIBits=StretchDIBits@52
|
||||
StrokeAndFillPath=StrokeAndFillPath@4
|
||||
StrokePath=StrokePath@4
|
||||
SwapBuffers=SwapBuffers@4
|
||||
TextOutA=TextOutA@20
|
||||
TextOutW=TextOutW@20
|
||||
TranslateCharsetInfo=TranslateCharsetInfo@12
|
||||
UnrealizeObject=UnrealizeObject@4
|
||||
UpdateColors=UpdateColors@4
|
||||
UpdateICMRegKeyA=UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyA=UpdateICMRegKeyA@16
|
||||
UpdateICMRegKeyW=UpdateICMRegKeyW@16
|
||||
WidenPath=WidenPath@4
|
||||
gdiPlaySpoolStream=gdiPlaySpoolStream@24
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.6 1999/07/16 23:37:04 rex Exp $
|
||||
# $Id: makefile,v 1.7 1999/07/17 23:10:19 ea Exp $
|
||||
#
|
||||
# Makefile for ReactOS gdi32.dll
|
||||
#
|
||||
|
@ -34,6 +34,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).dll \
|
||||
--def $(TARGET).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) $(TARGET).o \
|
||||
../kernel32/kernel32.a \
|
||||
|
@ -46,7 +47,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) $(TARGET).o \
|
||||
../kernel32/kernel32.a \
|
||||
|
|
File diff suppressed because it is too large
Load diff
671
reactos/lib/kernel32/kernel32.edf
Normal file
671
reactos/lib/kernel32/kernel32.edf
Normal file
|
@ -0,0 +1,671 @@
|
|||
; $Id: kernel32.edf,v 1.1 1999/07/17 23:10:20 ea Exp $
|
||||
;
|
||||
; kernel32.edf
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
; Aliased exports for KERNEL32.DLL generated by defedf reading
|
||||
; kernel32.def by Scott Christley.
|
||||
;
|
||||
; Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
;
|
||||
; Author: Scott Christley <scottc@net-community.com>
|
||||
; Date: 1996
|
||||
;
|
||||
; This file is part of the Windows32 API Library.
|
||||
;
|
||||
; This library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU Library General Public
|
||||
; License as published by the Free Software Foundation; either
|
||||
; version 2 of the License, or (at your option) any later version.
|
||||
;
|
||||
; This library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
; Library General Public License for more details.
|
||||
;
|
||||
; If you are interested in a warranty or support for this source code,
|
||||
; contact Scott Christley <scottc@net-community.com> for more information.
|
||||
;
|
||||
; You should have received a copy of the GNU Library General Public
|
||||
; License along with this library; see the file COPYING.LIB.
|
||||
; If not, write to the Free Software Foundation,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
LIBRARY KERNEL32
|
||||
EXPORTS
|
||||
AddAtomA=AddAtomA@4
|
||||
AddAtomW=AddAtomW@4
|
||||
AddConsoleAliasA=AddConsoleAliasA@12
|
||||
AddConsoleAliasW=AddConsoleAliasW@12
|
||||
AllocConsole=AllocConsole@0
|
||||
AreFileApisANSI=AreFileApisANSI@0
|
||||
BackupRead=BackupRead@28
|
||||
BackupSeek=BackupSeek@24
|
||||
BackupWrite=BackupWrite@28
|
||||
BaseAttachCompleteThunk=BaseAttachCompleteThunk@0
|
||||
Beep=Beep@8
|
||||
BeginUpdateResourceA=BeginUpdateResourceA@8
|
||||
BeginUpdateResourceW=BeginUpdateResourceW@8
|
||||
BuildCommDCBA=BuildCommDCBA@8
|
||||
BuildCommDCBAndTimeoutsA=BuildCommDCBAndTimeoutsA@12
|
||||
BuildCommDCBAndTimeoutsW=BuildCommDCBAndTimeoutsW@12
|
||||
BuildCommDCBW=BuildCommDCBW@8
|
||||
CallNamedPipeA=CallNamedPipeA@28
|
||||
CallNamedPipeW=CallNamedPipeW@28
|
||||
ClearCommBreak=ClearCommBreak@4
|
||||
ClearCommError=ClearCommError@12
|
||||
CloseConsoleHandle=CloseConsoleHandle@4
|
||||
CloseHandle=CloseHandle@4
|
||||
CloseProfileUserMapping=CloseProfileUserMapping@0
|
||||
CmdBatNotification=CmdBatNotification@4
|
||||
CommConfigDialogA=CommConfigDialogA@12
|
||||
CommConfigDialogW=CommConfigDialogW@12
|
||||
CompareFileTime=CompareFileTime@8
|
||||
CompareStringA=CompareStringA@24
|
||||
CompareStringW=CompareStringW@24
|
||||
ConnectNamedPipe=ConnectNamedPipe@8
|
||||
ConsoleMenuControl=ConsoleMenuControl@12
|
||||
ContinueDebugEvent=ContinueDebugEvent@12
|
||||
ConvertDefaultLocale=ConvertDefaultLocale@4
|
||||
CopyFileA=CopyFileA@12
|
||||
CopyFileExA=CopyFileExA@24
|
||||
CopyFileExW=CopyFileExW@24
|
||||
CopyFileW=CopyFileW@12
|
||||
CreateConsoleScreenBuffer=CreateConsoleScreenBuffer@20
|
||||
CreateDirectoryA=CreateDirectoryA@8
|
||||
CreateDirectoryExA=CreateDirectoryExA@12
|
||||
CreateDirectoryExW=CreateDirectoryExW@12
|
||||
CreateDirectoryW=CreateDirectoryW@8
|
||||
CreateEventA=CreateEventA@16
|
||||
CreateEventW=CreateEventW@16
|
||||
CreateFileA=CreateFileA@28
|
||||
CreateFileMappingA=CreateFileMappingA@24
|
||||
CreateFileMappingW=CreateFileMappingW@24
|
||||
CreateFileW=CreateFileW@28
|
||||
CreateIoCompletionPort=CreateIoCompletionPort@16
|
||||
CreateMailslotA=CreateMailslotA@16
|
||||
CreateMailslotW=CreateMailslotW@16
|
||||
CreateMutexA=CreateMutexA@12
|
||||
CreateMutexW=CreateMutexW@12
|
||||
CreateNamedPipeA=CreateNamedPipeA@32
|
||||
CreateNamedPipeW=CreateNamedPipeW@32
|
||||
CreatePipe=CreatePipe@16
|
||||
CreateProcessA=CreateProcessA@40
|
||||
CreateProcessW=CreateProcessW@40
|
||||
CreateRemoteThread=CreateRemoteThread@28
|
||||
CreateSemaphoreA=CreateSemaphoreA@16
|
||||
CreateSemaphoreW=CreateSemaphoreW@16
|
||||
CreateTapePartition=CreateTapePartition@16
|
||||
CreateThread=CreateThread@24
|
||||
CreateVirtualBuffer=CreateVirtualBuffer@12
|
||||
DebugActiveProcess=DebugActiveProcess@4
|
||||
DebugBreak=DebugBreak@0
|
||||
DefineDosDeviceA=DefineDosDeviceA@12
|
||||
DefineDosDeviceW=DefineDosDeviceW@12
|
||||
DeleteAtom=DeleteAtom@4
|
||||
DeleteCriticalSection=DeleteCriticalSection@4
|
||||
DeleteFileA=DeleteFileA@4
|
||||
DeleteFileW=DeleteFileW@4
|
||||
DeviceIoControl=DeviceIoControl@32
|
||||
DisableThreadLibraryCalls=DisableThreadLibraryCalls@4
|
||||
DisconnectNamedPipe=DisconnectNamedPipe@4
|
||||
DosDateTimeToFileTime=DosDateTimeToFileTime@12
|
||||
DuplicateConsoleHandle=DuplicateConsoleHandle@16
|
||||
DuplicateHandle=DuplicateHandle@28
|
||||
EndUpdateResourceA=EndUpdateResourceA@8
|
||||
EndUpdateResourceW=EndUpdateResourceW@8
|
||||
EnterCriticalSection=EnterCriticalSection@4
|
||||
EnumCalendarInfoA=EnumCalendarInfoA@16
|
||||
EnumCalendarInfoW=EnumCalendarInfoW@16
|
||||
EnumDateFormatsA=EnumDateFormatsA@12
|
||||
EnumDateFormatsW=EnumDateFormatsW@12
|
||||
EnumResourceLanguagesA=EnumResourceLanguagesA@20
|
||||
EnumResourceLanguagesW=EnumResourceLanguagesW@20
|
||||
EnumResourceNamesA=EnumResourceNamesA@16
|
||||
EnumResourceNamesW=EnumResourceNamesW@16
|
||||
EnumResourceTypesA=EnumResourceTypesA@12
|
||||
EnumResourceTypesW=EnumResourceTypesW@12
|
||||
EnumSystemCodePagesA=EnumSystemCodePagesA@8
|
||||
EnumSystemCodePagesW=EnumSystemCodePagesW@8
|
||||
EnumSystemLocalesA=EnumSystemLocalesA@8
|
||||
EnumSystemLocalesW=EnumSystemLocalesW@8
|
||||
EnumTimeFormatsA=EnumTimeFormatsA@12
|
||||
EnumTimeFormatsW=EnumTimeFormatsW@12
|
||||
EraseTape=EraseTape@12
|
||||
EscapeCommFunction=EscapeCommFunction@8
|
||||
ExitProcess=ExitProcess@4
|
||||
ExitThread=ExitThread@4
|
||||
ExitVDM=ExitVDM@8
|
||||
ExpandEnvironmentStringsA=ExpandEnvironmentStringsA@12
|
||||
ExpandEnvironmentStringsW=ExpandEnvironmentStringsW@12
|
||||
ExpungeConsoleCommandHistoryA=ExpungeConsoleCommandHistoryA@4
|
||||
ExpungeConsoleCommandHistoryW=ExpungeConsoleCommandHistoryW@4
|
||||
ExtendVirtualBuffer=ExtendVirtualBuffer@8
|
||||
FatalAppExitA=FatalAppExitA@8
|
||||
FatalAppExitW=FatalAppExitW@8
|
||||
FatalExit=FatalExit@4
|
||||
FileTimeToDosDateTime=FileTimeToDosDateTime@12
|
||||
FileTimeToLocalFileTime=FileTimeToLocalFileTime@8
|
||||
FileTimeToSystemTime=FileTimeToSystemTime@8
|
||||
FillConsoleOutputAttribute=FillConsoleOutputAttribute@20
|
||||
FillConsoleOutputCharacterA=FillConsoleOutputCharacterA@20
|
||||
FillConsoleOutputCharacterW=FillConsoleOutputCharacterW@20
|
||||
FindAtomA=FindAtomA@4
|
||||
FindAtomW=FindAtomW@4
|
||||
FindClose=FindClose@4
|
||||
FindCloseChangeNotification=FindCloseChangeNotification@4
|
||||
FindFirstChangeNotificationA=FindFirstChangeNotificationA@12
|
||||
FindFirstChangeNotificationW=FindFirstChangeNotificationW@12
|
||||
FindFirstFileA=FindFirstFileA@8
|
||||
FindFirstFileW=FindFirstFileW@8
|
||||
FindNextChangeNotification=FindNextChangeNotification@4
|
||||
FindNextFileA=FindNextFileA@8
|
||||
FindNextFileW=FindNextFileW@8
|
||||
FindResourceA=FindResourceA@12
|
||||
FindResourceExA=FindResourceExA@16
|
||||
FindResourceExW=FindResourceExW@16
|
||||
FindResourceW=FindResourceW@12
|
||||
FlushConsoleInputBuffer=FlushConsoleInputBuffer@4
|
||||
FlushFileBuffers=FlushFileBuffers@4
|
||||
FlushInstructionCache=FlushInstructionCache@12
|
||||
FlushViewOfFile=FlushViewOfFile@8
|
||||
FoldStringA=FoldStringA@20
|
||||
FoldStringW=FoldStringW@20
|
||||
FormatMessageA=FormatMessageA@28
|
||||
FormatMessageW=FormatMessageW@28
|
||||
FreeConsole=FreeConsole@0
|
||||
FreeEnvironmentStringsA=FreeEnvironmentStringsA@4
|
||||
FreeEnvironmentStringsW=FreeEnvironmentStringsW@4
|
||||
FreeLibrary=FreeLibrary@4
|
||||
FreeLibraryAndExitThread=FreeLibraryAndExitThread@8
|
||||
FreeResource=FreeResource@4
|
||||
FreeVirtualBuffer=FreeVirtualBuffer@4
|
||||
GenerateConsoleCtrlEvent=GenerateConsoleCtrlEvent@8
|
||||
GetACP=GetACP@0
|
||||
GetAtomNameA=GetAtomNameA@12
|
||||
GetAtomNameW=GetAtomNameW@12
|
||||
GetBinaryType=GetBinaryTypeA@8
|
||||
GetBinaryTypeA=GetBinaryTypeA@8
|
||||
GetBinaryTypeW=GetBinaryTypeW@8
|
||||
GetCPInfo=GetCPInfo@8
|
||||
GetCommConfig=GetCommConfig@12
|
||||
GetCommMask=GetCommMask@8
|
||||
GetCommModemStatus=GetCommModemStatus@8
|
||||
GetCommProperties=GetCommProperties@8
|
||||
GetCommState=GetCommState@8
|
||||
GetCommTimeouts=GetCommTimeouts@8
|
||||
GetCommandLineA=GetCommandLineA@0
|
||||
GetCommandLineW=GetCommandLineW@0
|
||||
GetCompressedFileSizeA=GetCompressedFileSizeA@8
|
||||
GetCompressedFileSizeW=GetCompressedFileSizeW@8
|
||||
GetComputerNameA=GetComputerNameA@8
|
||||
GetComputerNameW=GetComputerNameW@8
|
||||
GetConsoleAliasA=GetConsoleAliasA@16
|
||||
GetConsoleAliasExesA=GetConsoleAliasExesA@8
|
||||
GetConsoleAliasExesLengthA=GetConsoleAliasExesLengthA@0
|
||||
GetConsoleAliasExesLengthW=GetConsoleAliasExesLengthW@0
|
||||
GetConsoleAliasExesW=GetConsoleAliasExesW@8
|
||||
GetConsoleAliasW=GetConsoleAliasW@16
|
||||
GetConsoleAliasesA=GetConsoleAliasesA@12
|
||||
GetConsoleAliasesLengthA=GetConsoleAliasesLengthA@4
|
||||
GetConsoleAliasesLengthW=GetConsoleAliasesLengthW@4
|
||||
GetConsoleAliasesW=GetConsoleAliasesW@12
|
||||
GetConsoleCP=GetConsoleCP@0
|
||||
GetConsoleCommandHistoryA=GetConsoleCommandHistoryA@12
|
||||
GetConsoleCommandHistoryLengthA=GetConsoleCommandHistoryLengthA@4
|
||||
GetConsoleCommandHistoryLengthW=GetConsoleCommandHistoryLengthW@4
|
||||
GetConsoleCommandHistoryW=GetConsoleCommandHistoryW@12
|
||||
GetConsoleCursorInfo=GetConsoleCursorInfo@8
|
||||
GetConsoleDisplayMode=GetConsoleDisplayMode@4
|
||||
GetConsoleFontInfo=GetConsoleFontInfo@16
|
||||
GetConsoleFontSize=GetConsoleFontSize@8
|
||||
GetConsoleHardwareState=GetConsoleHardwareState@12
|
||||
GetConsoleInputWaitHandle=GetConsoleInputWaitHandle@0
|
||||
GetConsoleMode=GetConsoleMode@8
|
||||
GetConsoleOutputCP=GetConsoleOutputCP@0
|
||||
GetConsoleScreenBufferInfo=GetConsoleScreenBufferInfo@8
|
||||
GetConsoleTitleA=GetConsoleTitleA@8
|
||||
GetConsoleTitleW=GetConsoleTitleW@8
|
||||
GetCurrencyFormatA=GetCurrencyFormatA@24
|
||||
GetCurrencyFormatW=GetCurrencyFormatW@24
|
||||
GetCurrentConsoleFont=GetCurrentConsoleFont@12
|
||||
GetCurrentDirectoryA=GetCurrentDirectoryA@8
|
||||
GetCurrentDirectoryW=GetCurrentDirectoryW@8
|
||||
GetCurrentProcess=GetCurrentProcess@0
|
||||
GetCurrentProcessId=GetCurrentProcessId@0
|
||||
GetCurrentThread=GetCurrentThread@0
|
||||
GetCurrentThreadId=GetCurrentThreadId@0
|
||||
GetDateFormatA=GetDateFormatA@24
|
||||
GetDateFormatW=GetDateFormatW@24
|
||||
GetDefaultCommConfigA=GetDefaultCommConfigA@12
|
||||
GetDefaultCommConfigW=GetDefaultCommConfigW@12
|
||||
GetDiskFreeSpaceA=GetDiskFreeSpaceA@20
|
||||
GetDiskFreeSpaceW=GetDiskFreeSpaceW@20
|
||||
GetDiskFreeSpaceExA=GetDiskFreeSpaceExA@16
|
||||
GetDiskFreeSpaceExW=GetDiskFreeSpaceExW@16
|
||||
GetDriveTypeA=GetDriveTypeA@4
|
||||
GetDriveTypeW=GetDriveTypeW@4
|
||||
GetEnvironmentStringsA=GetEnvironmentStringsA@0
|
||||
GetEnvironmentStringsW=GetEnvironmentStringsW@0
|
||||
GetEnvironmentVariableA=GetEnvironmentVariableA@12
|
||||
GetEnvironmentVariableW=GetEnvironmentVariableW@12
|
||||
GetExitCodeProcess=GetExitCodeProcess@8
|
||||
GetExitCodeThread=GetExitCodeThread@8
|
||||
GetFileAttributesA=GetFileAttributesA@4
|
||||
GetFileAttributesW=GetFileAttributesW@4
|
||||
GetFileInformationByHandle=GetFileInformationByHandle@8
|
||||
GetFileSize=GetFileSize@8
|
||||
GetFileTime=GetFileTime@16
|
||||
GetFileType=GetFileType@4
|
||||
GetFullPathNameA=GetFullPathNameA@16
|
||||
GetFullPathNameW=GetFullPathNameW@16
|
||||
GetHandleInformation=GetHandleInformation@8
|
||||
GetLargestConsoleWindowSize=GetLargestConsoleWindowSize@4
|
||||
GetLastError=GetLastError@0
|
||||
GetLocalTime=GetLocalTime@4
|
||||
GetLocaleInfoA=GetLocaleInfoA@16
|
||||
GetLocaleInfoW=GetLocaleInfoW@16
|
||||
GetLogicalDriveStringsA=GetLogicalDriveStringsA@8
|
||||
GetLogicalDriveStringsW=GetLogicalDriveStringsW@8
|
||||
GetLogicalDrives=GetLogicalDrives@0
|
||||
GetMailslotInfo=GetMailslotInfo@20
|
||||
GetModuleFileNameA=GetModuleFileNameA@12
|
||||
GetModuleFileNameW=GetModuleFileNameW@12
|
||||
GetModuleHandleA=GetModuleHandleA@4
|
||||
GetModuleHandleW=GetModuleHandleW@4
|
||||
GetNamedPipeHandleStateA=GetNamedPipeHandleStateA@28
|
||||
GetNamedPipeHandleStateW=GetNamedPipeHandleStateW@28
|
||||
GetNamedPipeInfo=GetNamedPipeInfo@20
|
||||
GetNextVDMCommand=GetNextVDMCommand@4
|
||||
GetNumberFormatA=GetNumberFormatA@24
|
||||
GetNumberFormatW=GetNumberFormatW@24
|
||||
GetNumberOfConsoleFonts=GetNumberOfConsoleFonts@0
|
||||
GetNumberOfConsoleInputEvents=GetNumberOfConsoleInputEvents@8
|
||||
GetNumberOfConsoleMouseButtons=GetNumberOfConsoleMouseButtons@4
|
||||
GetOEMCP=GetOEMCP@0
|
||||
GetOverlappedResult=GetOverlappedResult@16
|
||||
GetPriorityClass=GetPriorityClass@4
|
||||
GetPrivateProfileIntA=GetPrivateProfileIntA@16
|
||||
GetPrivateProfileIntW=GetPrivateProfileIntW@16
|
||||
GetPrivateProfileSectionA=GetPrivateProfileSectionA@16
|
||||
GetPrivateProfileSectionNamesA=GetPrivateProfileSectionNamesA@12
|
||||
GetPrivateProfileSectionNamesW=GetPrivateProfileSectionNamesW@12
|
||||
GetPrivateProfileSectionW=GetPrivateProfileSectionW@16
|
||||
GetPrivateProfileStringA=GetPrivateProfileStringA@24
|
||||
GetPrivateProfileStringW=GetPrivateProfileStringW@24
|
||||
GetPrivateProfileStructA=GetPrivateProfileStructA@20
|
||||
GetPrivateProfileStructW=GetPrivateProfileStructW@20
|
||||
GetProcAddress=GetProcAddress@8
|
||||
GetProcessAffinityMask=GetProcessAffinityMask@12
|
||||
GetProcessHeap=GetProcessHeap@0
|
||||
GetProcessHeaps=GetProcessHeaps@8
|
||||
GetProcessShutdownParameters=GetProcessShutdownParameters@8
|
||||
GetProcessTimes=GetProcessTimes@20
|
||||
GetProcessVersion=GetProcessVersion@4
|
||||
GetProcessWorkingSetSize=GetProcessWorkingSetSize@12
|
||||
GetProfileIntA=GetProfileIntA@12
|
||||
GetProfileIntW=GetProfileIntW@12
|
||||
GetProfileSectionA=GetProfileSectionA@12
|
||||
GetProfileSectionW=GetProfileSectionW@12
|
||||
GetProfileStringA=GetProfileStringA@20
|
||||
GetProfileStringW=GetProfileStringW@20
|
||||
GetQueuedCompletionStatus=GetQueuedCompletionStatus@20
|
||||
GetShortPathNameA=GetShortPathNameA@12
|
||||
GetShortPathNameW=GetShortPathNameW@12
|
||||
GetStartupInfoA=GetStartupInfoA@4
|
||||
GetStartupInfoW=GetStartupInfoW@4
|
||||
GetStdHandle=GetStdHandle@4
|
||||
GetStringTypeA=GetStringTypeA@20
|
||||
GetStringTypeExA=GetStringTypeExA@20
|
||||
GetStringTypeExW=GetStringTypeExW@20
|
||||
GetStringTypeW=GetStringTypeW@16
|
||||
GetSystemDefaultLCID=GetSystemDefaultLCID@0
|
||||
GetSystemDefaultLangID=GetSystemDefaultLangID@0
|
||||
GetSystemDirectoryA=GetSystemDirectoryA@8
|
||||
GetSystemDirectoryW=GetSystemDirectoryW@8
|
||||
GetSystemInfo=GetSystemInfo@4
|
||||
GetSystemPowerStatus=GetSystemPowerStatus@4
|
||||
GetSystemTime=GetSystemTime@4
|
||||
GetSystemTimeAdjustment=GetSystemTimeAdjustment@12
|
||||
GetSystemTimeAsFileTime=GetSystemTimeAsFileTime@4
|
||||
GetTapeParameters=GetTapeParameters@16
|
||||
GetTapePosition=GetTapePosition@20
|
||||
GetTapeStatus=GetTapeStatus@4
|
||||
GetTempFileNameA=GetTempFileNameA@16
|
||||
GetTempFileNameW=GetTempFileNameW@16
|
||||
GetTempPathA=GetTempPathA@8
|
||||
GetTempPathW=GetTempPathW@8
|
||||
GetThreadContext=GetThreadContext@8
|
||||
GetThreadLocale=GetThreadLocale@0
|
||||
GetThreadPriority=GetThreadPriority@4
|
||||
GetThreadSelectorEntry=GetThreadSelectorEntry@12
|
||||
GetThreadTimes=GetThreadTimes@20
|
||||
GetTickCount=GetTickCount@0
|
||||
GetTimeFormatA=GetTimeFormatA@24
|
||||
GetTimeFormatW=GetTimeFormatW@24
|
||||
GetTimeZoneInformation=GetTimeZoneInformation@4
|
||||
GetUserDefaultLCID=GetUserDefaultLCID@0
|
||||
GetUserDefaultLangID=GetUserDefaultLangID@0
|
||||
GetVDMCurrentDirectories=GetVDMCurrentDirectories@8
|
||||
GetVersion=GetVersion@0
|
||||
GetVersionExA=GetVersionExA@4
|
||||
GetVersionExW=GetVersionExW@4
|
||||
GetVolumeInformationA=GetVolumeInformationA@32
|
||||
GetVolumeInformationW=GetVolumeInformationW@32
|
||||
GetWindowsDirectoryA=GetWindowsDirectoryA@8
|
||||
GetWindowsDirectoryW=GetWindowsDirectoryW@8
|
||||
GlobalAddAtomA=GlobalAddAtomA@4
|
||||
GlobalAddAtomW=GlobalAddAtomW@4
|
||||
GlobalAlloc=GlobalAlloc@8
|
||||
GlobalCompact=GlobalCompact@4
|
||||
GlobalDeleteAtom=GlobalDeleteAtom@4
|
||||
GlobalFindAtomA=GlobalFindAtomA@4
|
||||
GlobalFindAtomW=GlobalFindAtomW@4
|
||||
GlobalFix=GlobalFix@4
|
||||
GlobalFlags=GlobalFlags@4
|
||||
GlobalFree=GlobalFree@4
|
||||
GlobalGetAtomNameA=GlobalGetAtomNameA@12
|
||||
GlobalGetAtomNameW=GlobalGetAtomNameW@12
|
||||
GlobalHandle=GlobalHandle@4
|
||||
GlobalLock=GlobalLock@4
|
||||
GlobalMemoryStatus=GlobalMemoryStatus@4
|
||||
GlobalReAlloc=GlobalReAlloc@12
|
||||
GlobalSize=GlobalSize@4
|
||||
GlobalUnWire=GlobalUnWire@4
|
||||
GlobalUnfix=GlobalUnfix@4
|
||||
GlobalUnlock=GlobalUnlock@4
|
||||
GlobalWire=GlobalWire@4
|
||||
HeapAlloc=HeapAlloc@12
|
||||
HeapCompact=HeapCompact@8
|
||||
HeapCreate=HeapCreate@12
|
||||
HeapCreateTagsW=HeapCreateTagsW@16
|
||||
HeapDestroy=HeapDestroy@4
|
||||
HeapExtend=HeapExtend@16
|
||||
HeapFree=HeapFree@12
|
||||
HeapLock=HeapLock@4
|
||||
HeapQueryTagW=HeapQueryTagW@20
|
||||
HeapReAlloc=HeapReAlloc@16
|
||||
HeapSize=HeapSize@12
|
||||
HeapSummary=HeapSummary@12
|
||||
HeapUnlock=HeapUnlock@4
|
||||
HeapUsage=HeapUsage@20
|
||||
HeapValidate=HeapValidate@12
|
||||
HeapWalk=HeapWalk@8
|
||||
InitAtomTable=InitAtomTable@4
|
||||
InitializeCriticalSection=InitializeCriticalSection@4
|
||||
InterlockedDecrement=InterlockedDecrement@4
|
||||
InterlockedExchange=InterlockedExchange@8
|
||||
InterlockedIncrement=InterlockedIncrement@4
|
||||
InvalidateConsoleDIBits=InvalidateConsoleDIBits@8
|
||||
IsBadCodePtr=IsBadCodePtr@4
|
||||
IsBadHugeReadPtr=IsBadHugeReadPtr@8
|
||||
IsBadHugeWritePtr=IsBadHugeWritePtr@8
|
||||
IsBadReadPtr=IsBadReadPtr@8
|
||||
IsBadStringPtrA=IsBadStringPtrA@8
|
||||
IsBadStringPtrW=IsBadStringPtrW@8
|
||||
IsBadWritePtr=IsBadWritePtr@8
|
||||
IsDBCSLeadByte=IsDBCSLeadByte@4
|
||||
IsDBCSLeadByteEx=IsDBCSLeadByteEx@8
|
||||
IsDebuggerPresent=IsDebuggerPresent@0
|
||||
IsValidCodePage=IsValidCodePage@4
|
||||
IsValidLocale=IsValidLocale@8
|
||||
LCMapStringA=LCMapStringA@24
|
||||
LCMapStringW=LCMapStringW@24
|
||||
LeaveCriticalSection=LeaveCriticalSection@4
|
||||
LoadLibraryA=LoadLibraryA@4
|
||||
LoadLibraryExA=LoadLibraryExA@12
|
||||
LoadLibraryExW=LoadLibraryExW@12
|
||||
LoadLibraryW=LoadLibraryW@4
|
||||
LoadModule=LoadModule@8
|
||||
LoadResource=LoadResource@8
|
||||
LocalAlloc=LocalAlloc@8
|
||||
LocalCompact=LocalCompact@4
|
||||
LocalFileTimeToFileTime=LocalFileTimeToFileTime@8
|
||||
LocalFlags=LocalFlags@4
|
||||
LocalFree=LocalFree@4
|
||||
LocalHandle=LocalHandle@4
|
||||
LocalLock=LocalLock@4
|
||||
LocalReAlloc=LocalReAlloc@12
|
||||
LocalShrink=LocalShrink@8
|
||||
LocalSize=LocalSize@4
|
||||
LocalUnlock=LocalUnlock@4
|
||||
LockFile=LockFile@20
|
||||
LockFileEx=LockFileEx@24
|
||||
LockResource=LockResource@4
|
||||
MapViewOfFile=MapViewOfFile@20
|
||||
MapViewOfFileEx=MapViewOfFileEx@24
|
||||
MoveFileA=MoveFileA@8
|
||||
MoveFileExA=MoveFileExA@12
|
||||
MoveFileExW=MoveFileExW@12
|
||||
MoveFileW=MoveFileW@8
|
||||
MulDiv=MulDiv@12
|
||||
MultiByteToWideChar=MultiByteToWideChar@24
|
||||
OpenConsoleW=OpenConsoleW@16
|
||||
OpenEventA=OpenEventA@12
|
||||
OpenEventW=OpenEventW@12
|
||||
OpenFile=OpenFile@12
|
||||
OpenFileMappingA=OpenFileMappingA@12
|
||||
OpenFileMappingW=OpenFileMappingW@12
|
||||
OpenMutexA=OpenMutexA@12
|
||||
OpenMutexW=OpenMutexW@12
|
||||
OpenProcess=OpenProcess@12
|
||||
OpenProfileUserMapping=OpenProfileUserMapping@0
|
||||
OpenSemaphoreA=OpenSemaphoreA@12
|
||||
OpenSemaphoreW=OpenSemaphoreW@12
|
||||
OutputDebugStringA=OutputDebugStringA@4
|
||||
OutputDebugStringW=OutputDebugStringW@4
|
||||
PeekConsoleInputA=PeekConsoleInputA@16
|
||||
PeekConsoleInputW=PeekConsoleInputW@16
|
||||
PeekNamedPipe=PeekNamedPipe@24
|
||||
PostQueuedCompletionStatus=PostQueuedCompletionStatus@16
|
||||
PrepareTape=PrepareTape@12
|
||||
PulseEvent=PulseEvent@4
|
||||
PurgeComm=PurgeComm@8
|
||||
QueryDosDeviceA=QueryDosDeviceA@12
|
||||
QueryDosDeviceW=QueryDosDeviceW@12
|
||||
QueryPerformanceCounter=QueryPerformanceCounter@4
|
||||
QueryPerformanceFrequency=QueryPerformanceFrequency@4
|
||||
QueryWin31IniFilesMappedToRegistry=QueryWin31IniFilesMappedToRegistry@16
|
||||
RaiseException=RaiseException@16
|
||||
ReadConsoleA=ReadConsoleA@20
|
||||
ReadConsoleInputA=ReadConsoleInputA@16
|
||||
ReadConsoleInputW=ReadConsoleInputW@16
|
||||
ReadConsoleOutputA=ReadConsoleOutputA@20
|
||||
ReadConsoleOutputAttribute=ReadConsoleOutputAttribute@20
|
||||
ReadConsoleOutputCharacterA=ReadConsoleOutputCharacterA@20
|
||||
ReadConsoleOutputCharacterW=ReadConsoleOutputCharacterW@20
|
||||
ReadConsoleOutputW=ReadConsoleOutputW@20
|
||||
ReadConsoleW=ReadConsoleW@20
|
||||
ReadFile=ReadFile@20
|
||||
ReadFileEx=ReadFileEx@20
|
||||
ReadProcessMemory=ReadProcessMemory@20
|
||||
RegisterConsoleVDM=RegisterConsoleVDM@44
|
||||
RegisterWaitForInputIdle=RegisterWaitForInputIdle@4
|
||||
RegisterWowBaseHandlers=RegisterWowBaseHandlers@4
|
||||
RegisterWowExec=RegisterWowExec@4
|
||||
ReleaseMutex=ReleaseMutex@4
|
||||
ReleaseSemaphore=ReleaseSemaphore@12
|
||||
RemoveDirectoryA=RemoveDirectoryA@4
|
||||
RemoveDirectoryW=RemoveDirectoryW@4
|
||||
ResetEvent=ResetEvent@4
|
||||
ResumeThread=ResumeThread@4
|
||||
RtlFillMemory=RtlFillMemory@12
|
||||
RtlMoveMemory=RtlMoveMemory@12
|
||||
RtlUnwind=RtlUnwind@16
|
||||
RtlZeroMemory=RtlZeroMemory@8
|
||||
ScrollConsoleScreenBufferA=ScrollConsoleScreenBufferA@20
|
||||
ScrollConsoleScreenBufferW=ScrollConsoleScreenBufferW@20
|
||||
SearchPathA=SearchPathA@24
|
||||
SearchPathW=SearchPathW@24
|
||||
SetCommBreak=SetCommBreak@4
|
||||
SetCommConfig=SetCommConfig@12
|
||||
SetCommMask=SetCommMask@8
|
||||
SetCommState=SetCommState@8
|
||||
SetCommTimeouts=SetCommTimeouts@8
|
||||
SetComputerNameA=SetComputerNameA@4
|
||||
SetComputerNameW=SetComputerNameW@4
|
||||
SetConsoleActiveScreenBuffer=SetConsoleActiveScreenBuffer@4
|
||||
SetConsoleCP=SetConsoleCP@4
|
||||
SetConsoleCommandHistoryMode=SetConsoleCommandHistoryMode@4
|
||||
SetConsoleCtrlHandler=SetConsoleCtrlHandler@8
|
||||
SetConsoleCursor=SetConsoleCursor@8
|
||||
SetConsoleCursorInfo=SetConsoleCursorInfo@8
|
||||
SetConsoleCursorPosition=SetConsoleCursorPosition@8
|
||||
SetConsoleDisplayMode=SetConsoleDisplayMode@12
|
||||
SetConsoleFont=SetConsoleFont@8
|
||||
SetConsoleHardwareState=SetConsoleHardwareState@12
|
||||
SetConsoleKeyShortcuts=SetConsoleKeyShortcuts@16
|
||||
SetConsoleMaximumWindowSize=SetConsoleMaximumWindowSize@8
|
||||
SetConsoleMenuClose=SetConsoleMenuClose@4
|
||||
SetConsoleMode=SetConsoleMode@8
|
||||
SetConsoleNumberOfCommandsA=SetConsoleNumberOfCommandsA@8
|
||||
SetConsoleNumberOfCommandsW=SetConsoleNumberOfCommandsW@8
|
||||
SetConsoleOutputCP=SetConsoleOutputCP@4
|
||||
SetConsolePalette=SetConsolePalette@12
|
||||
SetConsoleScreenBufferSize=SetConsoleScreenBufferSize@8
|
||||
SetConsoleTextAttribute=SetConsoleTextAttribute@8
|
||||
SetConsoleTitleA=SetConsoleTitleA@4
|
||||
SetConsoleTitleW=SetConsoleTitleW@4
|
||||
SetConsoleWindowInfo=SetConsoleWindowInfo@12
|
||||
SetCurrentDirectoryA=SetCurrentDirectoryA@4
|
||||
SetCurrentDirectoryW=SetCurrentDirectoryW@4
|
||||
SetDefaultCommConfigA=SetDefaultCommConfigA@12
|
||||
SetDefaultCommConfigW=SetDefaultCommConfigW@12
|
||||
SetEndOfFile=SetEndOfFile@4
|
||||
SetEnvironmentVariableA=SetEnvironmentVariableA@8
|
||||
SetEnvironmentVariableW=SetEnvironmentVariableW@8
|
||||
SetErrorMode=SetErrorMode@4
|
||||
SetEvent=SetEvent@4
|
||||
SetFileApisToANSI=SetFileApisToANSI@0
|
||||
SetFileApisToOEM=SetFileApisToOEM@0
|
||||
SetFileAttributesA=SetFileAttributesA@8
|
||||
SetFileAttributesW=SetFileAttributesW@8
|
||||
SetFilePointer=SetFilePointer@16
|
||||
SetFileTime=SetFileTime@16
|
||||
SetHandleCount=SetHandleCount@4
|
||||
SetHandleInformation=SetHandleInformation@12
|
||||
SetLastConsoleEventActive=SetLastConsoleEventActive@0
|
||||
SetLastError=SetLastError@4
|
||||
SetLocalTime=SetLocalTime@4
|
||||
SetLocaleInfoA=SetLocaleInfoA@12
|
||||
SetLocaleInfoW=SetLocaleInfoW@12
|
||||
SetMailslotInfo=SetMailslotInfo@8
|
||||
SetNamedPipeHandleState=SetNamedPipeHandleState@16
|
||||
SetPriorityClass=SetPriorityClass@8
|
||||
SetProcessShutdownParameters=SetProcessShutdownParameters@8
|
||||
SetProcessWorkingSetSize=SetProcessWorkingSetSize@12
|
||||
SetStdHandle=SetStdHandle@8
|
||||
SetSystemPowerState=SetSystemPowerState@8
|
||||
SetSystemTime=SetSystemTime@4
|
||||
SetSystemTimeAdjustment=SetSystemTimeAdjustment@8
|
||||
SetTapeParameters=SetTapeParameters@12
|
||||
SetTapePosition=SetTapePosition@24
|
||||
SetThreadAffinityMask=SetThreadAffinityMask@8
|
||||
SetThreadContext=SetThreadContext@8
|
||||
;_imp__SetThreadContext@8
|
||||
SetThreadLocale=SetThreadLocale@4
|
||||
SetThreadPriority=SetThreadPriority@8
|
||||
SetTimeZoneInformation=SetTimeZoneInformation@4
|
||||
SetUnhandledExceptionFilter=SetUnhandledExceptionFilter@4
|
||||
SetVDMCurrentDirectories=SetVDMCurrentDirectories@8
|
||||
SetVolumeLabelA=SetVolumeLabelA@8
|
||||
SetVolumeLabelW=SetVolumeLabelW@8
|
||||
SetupComm=SetupComm@12
|
||||
ShowConsoleCursor=ShowConsoleCursor@8
|
||||
SizeofResource=SizeofResource@8
|
||||
Sleep=Sleep@4
|
||||
SleepEx=SleepEx@8
|
||||
SuspendThread=SuspendThread@4
|
||||
SystemTimeToFileTime=SystemTimeToFileTime@8
|
||||
SystemTimeToTzSpecificLocalTime=SystemTimeToTzSpecificLocalTime@12
|
||||
TerminateProcess=TerminateProcess@8
|
||||
TerminateThread=TerminateThread@8
|
||||
TlsAlloc=TlsAlloc@0
|
||||
TlsFree=TlsFree@4
|
||||
TlsGetValue=TlsGetValue@4
|
||||
TlsSetValue=TlsSetValue@8
|
||||
TransactNamedPipe=TransactNamedPipe@28
|
||||
TransmitCommChar=TransmitCommChar@8
|
||||
TrimVirtualBuffer=TrimVirtualBuffer@4
|
||||
UnhandledExceptionFilter=UnhandledExceptionFilter@4
|
||||
UnlockFile=UnlockFile@20
|
||||
UnlockFileEx=UnlockFileEx@20
|
||||
UnmapViewOfFile=UnmapViewOfFile@4
|
||||
UpdateResourceA=UpdateResourceA@24
|
||||
UpdateResourceW=UpdateResourceW@24
|
||||
VDMConsoleOperation=VDMConsoleOperation@8
|
||||
VDMOperationStarted=VDMOperationStarted@4
|
||||
VerLanguageNameA=VerLanguageNameA@12
|
||||
VerLanguageNameW=VerLanguageNameW@12
|
||||
VerifyConsoleIoHandle=VerifyConsoleIoHandle@4
|
||||
VirtualAlloc=VirtualAlloc@16
|
||||
VirtualBufferExceptionHandler=VirtualBufferExceptionHandler@12
|
||||
VirtualFree=VirtualFree@12
|
||||
VirtualLock=VirtualLock@8
|
||||
VirtualProtect=VirtualProtect@16
|
||||
VirtualProtectEx=VirtualProtectEx@20
|
||||
VirtualQuery=VirtualQuery@12
|
||||
VirtualQueryEx=VirtualQueryEx@16
|
||||
VirtualUnlock=VirtualUnlock@8
|
||||
WaitCommEvent=WaitCommEvent@12
|
||||
WaitForDebugEvent=WaitForDebugEvent@8
|
||||
WaitForMultipleObjects=WaitForMultipleObjects@16
|
||||
WaitForMultipleObjectsEx=WaitForMultipleObjectsEx@20
|
||||
WaitForSingleObject=WaitForSingleObject@8
|
||||
WaitForSingleObjectEx=WaitForSingleObjectEx@12
|
||||
WaitNamedPipeA=WaitNamedPipeA@8
|
||||
WaitNamedPipeW=WaitNamedPipeW@8
|
||||
WideCharToMultiByte=WideCharToMultiByte@32
|
||||
WinExec=WinExec@8
|
||||
WriteConsoleA=WriteConsoleA@20
|
||||
WriteConsoleInputA=WriteConsoleInputA@16
|
||||
WriteConsoleInputVDMA=WriteConsoleInputVDMA@16
|
||||
WriteConsoleInputVDMW=WriteConsoleInputVDMW@16
|
||||
WriteConsoleInputW=WriteConsoleInputW@16
|
||||
WriteConsoleOutputA=WriteConsoleOutputA@20
|
||||
WriteConsoleOutputAttribute=WriteConsoleOutputAttribute@20
|
||||
WriteConsoleOutputCharacterA=WriteConsoleOutputCharacterA@20
|
||||
WriteConsoleOutputCharacterW=WriteConsoleOutputCharacterW@20
|
||||
WriteConsoleOutputW=WriteConsoleOutputW@20
|
||||
WriteConsoleW=WriteConsoleW@20
|
||||
WriteFile=WriteFile@20
|
||||
WriteFileEx=WriteFileEx@20
|
||||
WritePrivateProfileSectionA=WritePrivateProfileSectionA@12
|
||||
WritePrivateProfileSectionW=WritePrivateProfileSectionW@12
|
||||
WritePrivateProfileStringA=WritePrivateProfileStringA@16
|
||||
WritePrivateProfileStringW=WritePrivateProfileStringW@16
|
||||
WritePrivateProfileStructA=WritePrivateProfileStructA@20
|
||||
WritePrivateProfileStructW=WritePrivateProfileStructW@20
|
||||
WriteProcessMemory=WriteProcessMemory@20
|
||||
WriteProfileSectionA=WriteProfileSectionA@8
|
||||
WriteProfileSectionW=WriteProfileSectionW@8
|
||||
WriteProfileStringA=WriteProfileStringA@12
|
||||
WriteProfileStringW=WriteProfileStringW@12
|
||||
WriteTapemark=WriteTapemark@16
|
||||
_hread=_hread@12
|
||||
_hwrite=_hwrite@12
|
||||
_lclose=_lclose@4
|
||||
_lcreat=_lcreat@8
|
||||
_llseek=_llseek@12
|
||||
_lopen=_lopen@8
|
||||
_lread=_lread@12
|
||||
_lwrite=_lwrite@12
|
||||
lstrcat=lstrcatA@8
|
||||
lstrcatA=lstrcatA@8
|
||||
lstrcatW=lstrcatW@8
|
||||
lstrcmp=lstrcmpA@8
|
||||
lstrcmpA=lstrcmpA@8
|
||||
lstrcmpW=lstrcmpW@8
|
||||
lstrcmpi=lstrcmpiA@8
|
||||
lstrcmpiA=lstrcmpiA@8
|
||||
lstrcmpiW=lstrcmpiW@8
|
||||
lstrcpy=lstrcpyA@8
|
||||
lstrcpyA=lstrcpyA@8
|
||||
lstrcpyW=lstrcpyW@8
|
||||
lstrcpyn=lstrcpynA@12
|
||||
lstrcpynA=lstrcpynA@12
|
||||
lstrcpynW=lstrcpynW@12
|
||||
lstrlen=lstrlenA@4
|
||||
lstrlenA=lstrlenA@4
|
||||
lstrlenW=lstrlenW@4
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.22 1999/07/16 23:37:04 rex Exp $
|
||||
# $Id: makefile,v 1.23 1999/07/17 23:10:20 ea Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -23,7 +23,7 @@ all: $(DLLTARGET)
|
|||
SYNCH_OBJECTS = synch/critical.o synch/event.o synch/wait.o
|
||||
|
||||
MISC_OBJECTS = misc/error.o misc/atom.o misc/handle.o misc/env.o misc/dllmain.o \
|
||||
misc/console.o misc/time.o
|
||||
misc/console.o misc/time.o misc/stubs.o
|
||||
|
||||
FILE_OBJECTS = file/file.o file/curdir.o file/lfile.o file/dir.o \
|
||||
file/iocompl.o file/volume.o file/deviceio.o file/dosdev.o \
|
||||
|
@ -99,6 +99,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).dll \
|
||||
--def $(TARGET).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) \
|
||||
-specs=k32_specs \
|
||||
|
@ -112,7 +113,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
-specs=k32_specs \
|
||||
|
|
|
@ -16,13 +16,16 @@
|
|||
#include <string.h>
|
||||
//#include <stdlib.h>
|
||||
|
||||
/*
|
||||
* System global and local atom tables.
|
||||
* What does "global" mean? The scope is
|
||||
* the attached process or ANY process?
|
||||
* In the second case, we need to call
|
||||
* csrss.exe.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
|
||||
|
||||
|
||||
/* system global and local atom tables */
|
||||
|
||||
static ATOMTABLE GlobalAtomTable;
|
||||
|
||||
/* internal functions */
|
||||
|
@ -43,8 +46,8 @@ int ansi2unicode( WCHAR *uni,const char *ansi, int s);
|
|||
ATOM
|
||||
STDCALL
|
||||
GlobalDeleteAtom(
|
||||
ATOM nAtom
|
||||
)
|
||||
ATOM nAtom
|
||||
)
|
||||
{
|
||||
return GLDeleteAtom(&GlobalAtomTable, nAtom);
|
||||
}
|
||||
|
@ -58,15 +61,21 @@ InitAtomTable(
|
|||
{
|
||||
// nSize should be a prime number
|
||||
|
||||
if ( nSize < 4 || nSize >= 512 ) {
|
||||
if ( nSize < 4 || nSize >= 512 )
|
||||
{
|
||||
nSize = 37;
|
||||
}
|
||||
|
||||
if ( (GetCurrentPeb()->LocalAtomTable).lpDrvData == NULL ) {
|
||||
(GetCurrentPeb()->LocalAtomTable).lpDrvData = HeapAlloc(GetProcessHeap(),HEAP_GENERATE_EXCEPTIONS|HEAP_ZERO_MEMORY,nSize*sizeof(ATOMENTRY));
|
||||
if ( (GetCurrentPeb()->LocalAtomTable).lpDrvData == NULL )
|
||||
{
|
||||
(GetCurrentPeb()->LocalAtomTable).lpDrvData =
|
||||
HeapAlloc(
|
||||
GetProcessHeap(),
|
||||
(HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY),
|
||||
(nSize * sizeof (ATOMENTRY))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -77,8 +86,10 @@ DeleteAtom(
|
|||
ATOM nAtom
|
||||
)
|
||||
{
|
||||
return GLDeleteAtom(&GetCurrentPeb()->LocalAtomTable, nAtom);
|
||||
|
||||
return GLDeleteAtom(
|
||||
& GetCurrentPeb()->LocalAtomTable,
|
||||
nAtom
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -91,9 +102,14 @@ GlobalAddAtomA(
|
|||
)
|
||||
{
|
||||
|
||||
UINT BufLen = strlen(lpString);
|
||||
WCHAR *lpBuffer = (WCHAR *)HeapAlloc(GetProcessHeap(),HEAP_GENERATE_EXCEPTIONS|HEAP_ZERO_MEMORY,BufLen*sizeof(WCHAR));
|
||||
ATOM atom;
|
||||
UINT BufLen = strlen(lpString);
|
||||
WCHAR * lpBuffer = (WCHAR *) HeapAlloc(
|
||||
GetProcessHeap(),
|
||||
(HEAP_GENERATE_EXCEPTIONS | HEAP_ZERO_MEMORY),
|
||||
(BufLen * sizeof (WCHAR))
|
||||
);
|
||||
ATOM atom;
|
||||
|
||||
ansi2unicode(lpBuffer, lpString,BufLen);
|
||||
atom = AWGLAddAtom(&GlobalAtomTable,lpBuffer );
|
||||
HeapFree(GetProcessHeap(),0,lpBuffer);
|
||||
|
@ -514,7 +530,8 @@ int ansi2unicode( WCHAR *uni,const char *ansi, int s)
|
|||
return i;
|
||||
}
|
||||
|
||||
int unicode2ansi( char *ansi,const WCHAR *uni, int s)
|
||||
int
|
||||
unicode2ansi( char *ansi,const WCHAR *uni, int s)
|
||||
{
|
||||
register int i;
|
||||
|
||||
|
@ -524,6 +541,6 @@ int unicode2ansi( char *ansi,const WCHAR *uni, int s)
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* EOF */
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,867 +1,436 @@
|
|||
EXPORTS
|
||||
InitializeObjectAttributes
|
||||
NtAcceptConnectPort@24
|
||||
NtAcceptConnectPort = NtAcceptConnectPort@24
|
||||
NtAccessCheck@32
|
||||
NtAccessCheck = NtAccessCheck@32
|
||||
NtAccessCheckAndAuditAlarm@44
|
||||
NtAccessCheckAndAuditAlarm = NtAccessCheckAndAuditAlarm@44
|
||||
NtAddAtom@8
|
||||
NtAddAtom = NtAddAtom@8
|
||||
NtAdjustGroupsToken@24
|
||||
NtAdjustGroupsToken = NtAdjustGroupsToken@24
|
||||
NtAdjustPrivilegesToken@24
|
||||
NtAdjustPrivilegesToken = NtAdjustPrivilegesToken@24
|
||||
NtAlertResumeThread@8
|
||||
NtAlertResumeThread = NtAlertResumeThread@8
|
||||
NtAlertThread@4
|
||||
NtAlertThread = NtAlertThread@4
|
||||
NtAllocateLocallyUniqueId@4
|
||||
NtAllocateLocallyUniqueId = NtAllocateLocallyUniqueId@4
|
||||
NtAllocateUuids@12
|
||||
NtAllocateUuids = NtAllocateUuids@12
|
||||
NtAllocateVirtualMemory@24
|
||||
NtAllocateVirtualMemory = NtAllocateVirtualMemory@24
|
||||
NtCallbackReturn@12
|
||||
NtCallbackReturn = NtCallbackReturn@12
|
||||
NtCancelIoFile@8
|
||||
NtCancelIoFile = NtCancelIoFile@8
|
||||
NtCancelTimer@8
|
||||
NtCancelTimer = NtCancelTimer@8
|
||||
NtClearEvent@4
|
||||
NtClearEvent = NtClearEvent@4
|
||||
NtClose@4
|
||||
NtClose = NtClose@4
|
||||
NtCloseObjectAuditAlarm@12
|
||||
NtCloseObjectAuditAlarm = NtCloseObjectAuditAlarm@12
|
||||
NtCompleteConnectPort@4
|
||||
NtCompleteConnectPort = NtCompleteConnectPort@4
|
||||
NtConnectPort@32
|
||||
NtConnectPort = NtConnectPort@32
|
||||
NtContinue@8
|
||||
NtContinue = NtContinue@8
|
||||
NtCreateChannel@8
|
||||
NtCreateChannel = NtCreateChannel@8
|
||||
NtCreateDirectoryObject@12
|
||||
NtCreateDirectoryObject = NtCreateDirectoryObject@12
|
||||
NtCreateEvent@20
|
||||
NtCreateEvent = NtCreateEvent@20
|
||||
NtCreateEventPair@12
|
||||
NtCreateEventPair = NtCreateEventPair@12
|
||||
NtCreateFile@44
|
||||
NtCreateFile = NtCreateFile@44
|
||||
NtCreateIoCompletion@16
|
||||
NtCreateIoCompletion = NtCreateIoCompletion@16
|
||||
NtCreateKey@28
|
||||
NtCreateKey = NtCreateKey@28
|
||||
NtCreateMailslotFile@32
|
||||
NtCreateMailslotFile = NtCreateMailslotFile@32
|
||||
NtCreateMutant@16
|
||||
NtCreateMutant = NtCreateMutant@16
|
||||
NtCreateNamedPipeFile@56
|
||||
NtCreateNamedPipeFile = NtCreateNamedPipeFile@56
|
||||
NtCreatePagingFile@16
|
||||
NtCreatePagingFile = NtCreatePagingFile@16
|
||||
NtCreatePort@20
|
||||
NtCreatePort = NtCreatePort@20
|
||||
NtCreateProcess@32
|
||||
NtCreateProcess = NtCreateProcess@32
|
||||
NtCreateProfile@36
|
||||
NtCreateProfile = NtCreateProfile@36
|
||||
NtCreateSection@28
|
||||
NtCreateSection = NtCreateSection@28
|
||||
NtCreateSemaphore@20
|
||||
NtCreateSemaphore = NtCreateSemaphore@20
|
||||
NtCreateSymbolicLinkObject@16
|
||||
NtCreateSymbolicLinkObject = NtCreateSymbolicLinkObject@16
|
||||
NtCreateThread@32
|
||||
NtCreateThread = NtCreateThread@32
|
||||
NtCreateTimer@16
|
||||
NtCreateTimer = NtCreateTimer@16
|
||||
NtCreateToken@52
|
||||
NtCreateToken = NtCreateToken@52
|
||||
NtDelayExecution@8
|
||||
NtDelayExecution = NtDelayExecution@8
|
||||
NtDeleteAtom@4
|
||||
NtDeleteAtom = NtDeleteAtom@4
|
||||
NtDeleteFile@4
|
||||
NtDeleteFile = NtDeleteFile@4
|
||||
NtDeleteKey@4
|
||||
NtDeleteKey = NtDeleteKey@4
|
||||
NtDeleteObjectAuditAlarm@12
|
||||
NtDeleteObjectAuditAlarm = NtDeleteObjectAuditAlarm@12
|
||||
NtDeleteValueKey@8
|
||||
NtDeleteValueKey = NtDeleteValueKey@8
|
||||
NtDeviceIoControlFile@40
|
||||
NtDeviceIoControlFile = NtDeviceIoControlFile@40
|
||||
NtDisplayString@4
|
||||
NtDisplayString = NtDisplayString@4
|
||||
NtDuplicateObject@28
|
||||
NtDuplicateObject = NtDuplicateObject@28
|
||||
NtDuplicateToken@24
|
||||
NtDuplicateToken = NtDuplicateToken@24
|
||||
NtEnumerateKey@24
|
||||
NtEnumerateKey = NtEnumerateKey@24
|
||||
NtEnumerateValueKey@24
|
||||
NtEnumerateValueKey = NtEnumerateValueKey@24
|
||||
NtExtendSection@8
|
||||
NtExtendSection = NtExtendSection@8
|
||||
NtFindAtom@8
|
||||
NtFindAtom = NtFindAtom@8
|
||||
NtFlushBuffersFile@8
|
||||
NtFlushBuffersFile = NtFlushBuffersFile@8
|
||||
NtFlushInstructionCache@12
|
||||
NtFlushInstructionCache = NtFlushInstructionCache@12
|
||||
NtFlushKey@4
|
||||
NtFlushKey = NtFlushKey@4
|
||||
NtFlushVirtualMemory@16
|
||||
NtFlushVirtualMemory = NtFlushVirtualMemory@16
|
||||
NtFlushWriteBuffer@0
|
||||
NtFlushWriteBuffer = NtFlushWriteBuffer@0
|
||||
NtFreeVirtualMemory@16
|
||||
NtFreeVirtualMemory = NtFreeVirtualMemory@16
|
||||
NtFsControlFile@40
|
||||
NtFsControlFile = NtFsControlFile@40
|
||||
NtGetContextThread@8
|
||||
NtGetContextThread = NtGetContextThread@8
|
||||
NtGetPlugPlayEvent@16
|
||||
NtGetPlugPlayEvent = NtGetPlugPlayEvent@16
|
||||
NtGetTickCount@4
|
||||
NtGetTickCount = NtGetTickCount@4
|
||||
NtImpersonateClientOfPort@8
|
||||
NtImpersonateClientOfPort = NtImpersonateClientOfPort@8
|
||||
NtImpersonateThread@12
|
||||
NtImpersonateThread = NtImpersonateThread@12
|
||||
NtInitializeRegistry@4
|
||||
NtInitializeRegistry = NtInitializeRegistry@4
|
||||
NtListenChannel@8
|
||||
NtListenChannel = NtListenChannel@8
|
||||
NtListenPort@8
|
||||
NtListenPort = NtListenPort@8
|
||||
NtLoadDriver@4
|
||||
NtLoadDriver = NtLoadDriver@4
|
||||
NtLoadKey@8
|
||||
NtLoadKey = NtLoadKey@8
|
||||
NtLoadKey2@12
|
||||
NtLoadKey2 = NtLoadKey2@12
|
||||
NtLockFile@40
|
||||
NtLockFile = NtLockFile@40
|
||||
NtLockVirtualMemory@16
|
||||
NtLockVirtualMemory = NtLockVirtualMemory@16
|
||||
NtMakeTemporaryObject@4
|
||||
NtMakeTemporaryObject = NtMakeTemporaryObject@4
|
||||
NtMapViewOfSection@40
|
||||
NtMapViewOfSection = NtMapViewOfSection@40
|
||||
NtNotifyChangeDirectoryFile@36
|
||||
NtNotifyChangeDirectoryFile = NtNotifyChangeDirectoryFile@36
|
||||
NtNotifyChangeKey@40
|
||||
NtNotifyChangeKey = NtNotifyChangeKey@40
|
||||
NtOpenChannel@8
|
||||
NtOpenChannel = NtOpenChannel@8
|
||||
NtOpenDirectoryObject@12
|
||||
NtOpenDirectoryObject = NtOpenDirectoryObject@12
|
||||
NtOpenEvent@12
|
||||
NtOpenEvent = NtOpenEvent@12
|
||||
NtOpenEventPair@12
|
||||
NtOpenEventPair = NtOpenEventPair@12
|
||||
NtOpenFile@24
|
||||
NtOpenFile = NtOpenFile@24
|
||||
NtOpenIoCompletion@12
|
||||
NtOpenIoCompletion = NtOpenIoCompletion@12
|
||||
NtOpenKey@12
|
||||
NtOpenKey = NtOpenKey@12
|
||||
NtOpenMutant@12
|
||||
NtOpenMutant = NtOpenMutant@12
|
||||
NtOpenObjectAuditAlarm@48
|
||||
NtOpenObjectAuditAlarm = NtOpenObjectAuditAlarm@48
|
||||
NtOpenProcess@16
|
||||
NtOpenProcess = NtOpenProcess@16
|
||||
NtOpenProcessToken@12
|
||||
NtOpenProcessToken = NtOpenProcessToken@12
|
||||
NtOpenSection@12
|
||||
NtOpenSection = NtOpenSection@12
|
||||
NtOpenSemaphore@12
|
||||
NtOpenSemaphore = NtOpenSemaphore@12
|
||||
NtOpenSymbolicLinkObject@12
|
||||
NtOpenSymbolicLinkObject = NtOpenSymbolicLinkObject@12
|
||||
NtOpenThread@16
|
||||
NtOpenThread = NtOpenThread@16
|
||||
NtOpenThreadToken@16
|
||||
NtOpenThreadToken = NtOpenThreadToken@16
|
||||
NtOpenTimer@12
|
||||
NtOpenTimer = NtOpenTimer@12
|
||||
NtPlugPlayControl@16
|
||||
NtPlugPlayControl = NtPlugPlayControl@16
|
||||
NtPrivilegeCheck@12
|
||||
NtPrivilegeCheck = NtPrivilegeCheck@12
|
||||
NtPrivilegedServiceAuditAlarm@20
|
||||
NtPrivilegedServiceAuditAlarm = NtPrivilegedServiceAuditAlarm@20
|
||||
NtPrivilegeObjectAuditAlarm@24
|
||||
NtPrivilegeObjectAuditAlarm = NtPrivilegeObjectAuditAlarm@24
|
||||
NtProtectVirtualMemory@20
|
||||
NtProtectVirtualMemory = NtProtectVirtualMemory@20
|
||||
NtPulseEvent@8
|
||||
NtPulseEvent = NtPulseEvent@8
|
||||
NtQueueApcThread@20
|
||||
NtQueueApcThread = NtQueueApcThread@20
|
||||
NtQueryAttributesFile@8
|
||||
NtQueryAttributesFile = NtQueryAttributesFile@8
|
||||
NtQueryDefaultLocale@8
|
||||
NtQueryDefaultLocale = NtQueryDefaultLocale@8
|
||||
NtQueryDirectoryFile@44
|
||||
NtQueryDirectoryFile = NtQueryDirectoryFile@44
|
||||
NtQueryDirectoryObject@28
|
||||
NtQueryDirectoryObject = NtQueryDirectoryObject@28
|
||||
NtQueryEaFile@36
|
||||
NtQueryEaFile = NtQueryEaFile@36
|
||||
NtQueryEvent@20
|
||||
NtQueryEvent = NtQueryEvent@20
|
||||
NtQueryFullAttributesFile@8
|
||||
NtQueryFullAttributesFile = NtQueryFullAttributesFile@8
|
||||
NtQueryInformationAtom@20
|
||||
NtQueryInformationAtom = NtQueryInformationAtom@20
|
||||
NtQueryInformationFile@20
|
||||
NtQueryInformationFile = NtQueryInformationFile@20
|
||||
NtQueryInformationPort@20
|
||||
NtQueryInformationPort = NtQueryInformationPort@20
|
||||
NtQueryInformationProcess@20
|
||||
NtQueryInformationProcess = NtQueryInformationProcess@20
|
||||
NtQueryInformationThread@20
|
||||
NtQueryInformationThread = NtQueryInformationThread@20
|
||||
NtQueryInformationToken@20
|
||||
NtQueryInformationToken = NtQueryInformationToken@20
|
||||
NtQueryIoCompletion@20
|
||||
NtQueryIoCompletion = NtQueryIoCompletion@20
|
||||
NtQueryIntervalProfile@8
|
||||
NtQueryIntervalProfile = NtQueryIntervalProfile@8
|
||||
NtQueryKey@20
|
||||
NtQueryKey = NtQueryKey@20
|
||||
NtQueryMultipleValueKey@24
|
||||
NtQueryMultipleValueKey = NtQueryMultipleValueKey@24
|
||||
NtQueryMutant@20
|
||||
NtQueryMutant = NtQueryMutant@20
|
||||
NtQueryObject@20
|
||||
NtQueryObject = NtQueryObject@20
|
||||
NtQueryOleDirectoryFile@44
|
||||
NtQueryOleDirectoryFile = NtQueryOleDirectoryFile@44
|
||||
NtQueryPerformanceCounter@8
|
||||
NtQueryPerformanceCounter = NtQueryPerformanceCounter@8
|
||||
NtQuerySection@20
|
||||
NtQuerySection = NtQuerySection@20
|
||||
NtQuerySecurityObject@20
|
||||
NtQuerySecurityObject = NtQuerySecurityObject@20
|
||||
NtQuerySemaphore@20
|
||||
NtQuerySemaphore = NtQuerySemaphore@20
|
||||
NtQuerySymbolicLinkObject@12
|
||||
NtQuerySymbolicLinkObject = NtQuerySymbolicLinkObject@12
|
||||
NtQuerySystemEnvironmentValue@16
|
||||
NtQuerySystemEnvironmentValue = NtQuerySystemEnvironmentValue@16
|
||||
NtQuerySystemInformation@16
|
||||
NtQuerySystemInformation = NtQuerySystemInformation@16
|
||||
NtQuerySystemTime@4
|
||||
NtQuerySystemTime = NtQuerySystemTime@4
|
||||
NtQueryTimer@20
|
||||
NtQueryTimer = NtQueryTimer@20
|
||||
NtQueryTimerResolution@12
|
||||
NtQueryTimerResolution = NtQueryTimerResolution@12
|
||||
NtQueryValueKey@24
|
||||
NtQueryValueKey = NtQueryValueKey@24
|
||||
NtQueryVirtualMemory@24
|
||||
NtQueryVirtualMemory = NtQueryVirtualMemory@24
|
||||
NtQueryVolumeInformationFile@20
|
||||
NtQueryVolumeInformationFile = NtQueryVolumeInformationFile@20
|
||||
NtRaiseException@12
|
||||
NtRaiseException = NtRaiseException@12
|
||||
NtRaiseHardError@24
|
||||
NtRaiseHardError = NtRaiseHardError@24
|
||||
NtReadFile@36
|
||||
NtReadFile = NtReadFile@36
|
||||
NtReadFileScatter@36
|
||||
NtReadFileScatter = NtReadFileScatter@36
|
||||
NtReadRequestData@24
|
||||
NtReadRequestData = NtReadRequestData@24
|
||||
NtReadVirtualMemory@20
|
||||
NtReadVirtualMemory = NtReadVirtualMemory@20
|
||||
NtRegisterThreadTerminatePort@4
|
||||
NtRegisterThreadTerminatePort = NtRegisterThreadTerminatePort@4
|
||||
NtReleaseMutant@8
|
||||
NtReleaseMutant = NtReleaseMutant@8
|
||||
NtReleaseSemaphore@12
|
||||
NtReleaseSemaphore = NtReleaseSemaphore@12
|
||||
NtRemoveIoCompletion@20
|
||||
NtRemoveIoCompletion = NtRemoveIoCompletion@20
|
||||
NtReplaceKey@12
|
||||
NtReplaceKey = NtReplaceKey@12
|
||||
NtReplyPort@8
|
||||
NtReplyPort = NtReplyPort@8
|
||||
NtReplyWaitReceivePort@16
|
||||
NtReplyWaitReceivePort = NtReplyWaitReceivePort@16
|
||||
NtReplyWaitReplyPort@8
|
||||
NtReplyWaitReplyPort = NtReplyWaitReplyPort@8
|
||||
NtReplyWaitSendChannel@12
|
||||
NtReplyWaitSendChannel = NtReplyWaitSendChannel@12
|
||||
NtRequestPort@8
|
||||
NtRequestPort = NtRequestPort@8
|
||||
NtRequestWaitReplyPort@12
|
||||
NtRequestWaitReplyPort = NtRequestWaitReplyPort@12
|
||||
NtResetEvent@8
|
||||
NtResetEvent = NtResetEvent@8
|
||||
NtRestoreKey@12
|
||||
NtRestoreKey = NtRestoreKey@12
|
||||
NtResumeThread@8
|
||||
NtResumeThread = NtResumeThread@8
|
||||
NtSaveKey@8
|
||||
NtSaveKey = NtSaveKey@8
|
||||
NtSendWaitReplyChannel@16
|
||||
NtSendWaitReplyChannel = NtSendWaitReplyChannel@16
|
||||
NtSetContextChannel@4
|
||||
NtSetContextChannel = NtSetContextChannel@4
|
||||
NtSetContextThread@8
|
||||
NtSetContextThread = NtSetContextThread@8
|
||||
NtSetDefaultHardErrorPort@4
|
||||
NtSetDefaultHardErrorPort = NtSetDefaultHardErrorPort@4
|
||||
NtSetDefaultLocale@8
|
||||
NtSetDefaultLocale = NtSetDefaultLocale@8
|
||||
NtSetEaFile@16
|
||||
NtSetEaFile = NtSetEaFile@16
|
||||
NtSetEvent@8
|
||||
NtSetEvent = NtSetEvent@8
|
||||
NtSetHighEventPair@4
|
||||
NtSetHighEventPair = NtSetHighEventPair@4
|
||||
NtSetHighWaitLowEventPair@4
|
||||
NtSetHighWaitLowEventPair = NtSetHighWaitLowEventPair@4
|
||||
NtSetInformationFile@20
|
||||
NtSetInformationFile = NtSetInformationFile@20
|
||||
NtSetInformationKey@16
|
||||
NtSetInformationKey = NtSetInformationKey@16
|
||||
NtSetInformationObject@16
|
||||
NtSetInformationObject = NtSetInformationObject@16
|
||||
NtSetInformationProcess@16
|
||||
NtSetInformationProcess = NtSetInformationProcess@16
|
||||
NtSetInformationThread@16
|
||||
NtSetInformationThread = NtSetInformationThread@16
|
||||
NtSetInformationToken@16
|
||||
NtSetInformationToken = NtSetInformationToken@16
|
||||
NtSetIntervalProfile@8
|
||||
NtSetIntervalProfile = NtSetIntervalProfile@8
|
||||
NtSetIoCompletion@20
|
||||
NtSetIoCompletion = NtSetIoCompletion@20
|
||||
NtSetLdtEntries@24
|
||||
NtSetLdtEntries = NtSetLdtEntries@24
|
||||
NtSetLowEventPair@4
|
||||
NtSetLowEventPair = NtSetLowEventPair@4
|
||||
NtSetLowWaitHighEventPair@4
|
||||
NtSetLowWaitHighEventPair = NtSetLowWaitHighEventPair@4
|
||||
NtSetSecurityObject@12
|
||||
NtSetSecurityObject = NtSetSecurityObject@12
|
||||
NtSetSystemEnvironmentValue@8
|
||||
NtSetSystemEnvironmentValue = NtSetSystemEnvironmentValue@8
|
||||
NtSetSystemInformation@12
|
||||
NtSetSystemInformation = NtSetSystemInformation@12
|
||||
NtSetSystemPowerState@12
|
||||
NtSetSystemPowerState = NtSetSystemPowerState@12
|
||||
NtSetSystemTime@8
|
||||
NtSetSystemTime = NtSetSystemTime@8
|
||||
NtSetTimer@28
|
||||
NtSetTimer = NtSetTimer@28
|
||||
NtSetTimerResolution@12
|
||||
NtSetTimerResolution = NtSetTimerResolution@12
|
||||
NtSetValueKey@24
|
||||
NtSetValueKey = NtSetValueKey@24
|
||||
NtSetVolumeInformationFile@20
|
||||
NtSetVolumeInformationFile = NtSetVolumeInformationFile@20
|
||||
NtShutdownSystem@4
|
||||
NtShutdownSystem = NtShutdownSystem@4
|
||||
NtSignalAndWaitForSingleObject@16
|
||||
NtSignalAndWaitForSingleObject = NtSignalAndWaitForSingleObject@16
|
||||
NtStartProfile@4
|
||||
NtStartProfile = NtStartProfile@4
|
||||
NtStopProfile@4
|
||||
NtStopProfile = NtStopProfile@4
|
||||
NtSuspendThread@8
|
||||
NtSuspendThread = NtSuspendThread@8
|
||||
NtSystemDebugControl@24
|
||||
NtSystemDebugControl = NtSystemDebugControl@24
|
||||
NtTerminateProcess@8
|
||||
NtTerminateProcess = NtTerminateProcess@8
|
||||
NtTerminateThread@8
|
||||
NtTerminateThread = NtTerminateThread@8
|
||||
NtTestAlert@0
|
||||
NtTestAlert = NtTestAlert@0
|
||||
NtUnloadDriver@4
|
||||
NtUnloadDriver = NtUnloadDriver@4
|
||||
NtUnloadKey@4
|
||||
NtUnloadKey = NtUnloadKey@4
|
||||
NtUnlockFile@20
|
||||
NtUnlockFile = NtUnlockFile@20
|
||||
NtUnlockVirtualMemory@16
|
||||
NtUnlockVirtualMemory = NtUnlockVirtualMemory@16
|
||||
NtUnmapViewOfSection@8
|
||||
NtUnmapViewOfSection = NtUnmapViewOfSection@8
|
||||
NtVdmControl@8
|
||||
NtVdmControl = NtVdmControl@8
|
||||
NtWaitForMultipleObjects@20
|
||||
NtWaitForMultipleObjects = NtWaitForMultipleObjects@20
|
||||
NtWaitForSingleObject@12
|
||||
NtWaitForSingleObject = NtWaitForSingleObject@12
|
||||
NtWaitHighEventPair@4
|
||||
NtWaitHighEventPair = NtWaitHighEventPair@4
|
||||
NtWaitLowEventPair@4
|
||||
NtWaitLowEventPair = NtWaitLowEventPair@4
|
||||
NtWriteFile@36
|
||||
NtWriteFile = NtWriteFile@36
|
||||
NtWriteFileGather@36
|
||||
NtWriteFileGather = NtWriteFileGather@36
|
||||
NtWriteRequestData@24
|
||||
NtWriteRequestData = NtWriteRequestData@24
|
||||
NtWriteVirtualMemory@20
|
||||
NtWriteVirtualMemory = NtWriteVirtualMemory@20
|
||||
NtW32Call@20
|
||||
NtW32Call = NtW32Call@20
|
||||
NtYieldExecution@0
|
||||
NtYieldExecution = NtYieldExecution@0
|
||||
ZwAcceptConnectPort@24
|
||||
ZwAcceptConnectPort = ZwAcceptConnectPort@24
|
||||
ZwAccessCheck@32
|
||||
ZwAccessCheck = ZwAccessCheck@32
|
||||
ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAccessCheckAndAuditAlarm = ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAddAtom@8
|
||||
ZwAddAtom = ZwAddAtom@8
|
||||
ZwAdjustGroupsToken@24
|
||||
ZwAdjustGroupsToken = ZwAdjustGroupsToken@24
|
||||
ZwAdjustPrivilegesToken@24
|
||||
ZwAdjustPrivilegesToken = ZwAdjustPrivilegesToken@24
|
||||
ZwAlertResumeThread@8
|
||||
ZwAlertResumeThread = ZwAlertResumeThread@8
|
||||
ZwAlertThread@4
|
||||
ZwAlertThread = ZwAlertThread@4
|
||||
ZwAllocateLocallyUniqueId@4
|
||||
ZwAllocateLocallyUniqueId = ZwAllocateLocallyUniqueId@4
|
||||
ZwAllocateUuids@12
|
||||
ZwAllocateUuids = ZwAllocateUuids@12
|
||||
ZwAllocateVirtualMemory@24
|
||||
ZwAllocateVirtualMemory = ZwAllocateVirtualMemory@24
|
||||
ZwCallbackReturn@12
|
||||
ZwCallbackReturn = ZwCallbackReturn@12
|
||||
ZwCancelIoFile@8
|
||||
ZwCancelIoFile = ZwCancelIoFile@8
|
||||
ZwCancelTimer@8
|
||||
ZwCancelTimer = ZwCancelTimer@8
|
||||
ZwClearEvent@4
|
||||
ZwClearEvent = ZwClearEvent@4
|
||||
ZwClose@4
|
||||
ZwClose = ZwClose@4
|
||||
ZwCloseObjectAuditAlarm@12
|
||||
ZwCloseObjectAuditAlarm = ZwCloseObjectAuditAlarm@12
|
||||
ZwCompleteConnectPort@4
|
||||
ZwCompleteConnectPort = ZwCompleteConnectPort@4
|
||||
ZwConnectPort@32
|
||||
ZwConnectPort = ZwConnectPort@32
|
||||
ZwContinue@8
|
||||
ZwContinue = ZwContinue@8
|
||||
ZwCreateChannel@8
|
||||
ZwCreateChannel = ZwCreateChannel@8
|
||||
ZwCreateDirectoryObject@12
|
||||
ZwCreateDirectoryObject = ZwCreateDirectoryObject@12
|
||||
ZwCreateEvent@20
|
||||
ZwCreateEvent = ZwCreateEvent@20
|
||||
ZwCreateEventPair@12
|
||||
ZwCreateEventPair = ZwCreateEventPair@12
|
||||
ZwCreateFile@44
|
||||
ZwCreateFile = ZwCreateFile@44
|
||||
ZwCreateIoCompletion@16
|
||||
ZwCreateIoCompletion = ZwCreateIoCompletion@16
|
||||
ZwCreateKey@28
|
||||
ZwCreateKey = ZwCreateKey@28
|
||||
ZwCreateMailslotFile@32
|
||||
ZwCreateMailslotFile = ZwCreateMailslotFile@32
|
||||
ZwCreateMutant@16
|
||||
ZwCreateMutant = ZwCreateMutant@16
|
||||
ZwCreateNamedPipeFile@56
|
||||
ZwCreateNamedPipeFile = ZwCreateNamedPipeFile@56
|
||||
ZwCreatePagingFile@16
|
||||
ZwCreatePagingFile = ZwCreatePagingFile@16
|
||||
ZwCreatePort@20
|
||||
ZwCreatePort = ZwCreatePort@20
|
||||
ZwCreateProcess@32
|
||||
ZwCreateProcess = ZwCreateProcess@32
|
||||
ZwCreateProfile@36
|
||||
ZwCreateProfile = ZwCreateProfile@36
|
||||
ZwCreateSection@28
|
||||
ZwCreateSection = ZwCreateSection@28
|
||||
ZwCreateSemaphore@20
|
||||
ZwCreateSemaphore = ZwCreateSemaphore@20
|
||||
ZwCreateSymbolicLinkObject@16
|
||||
ZwCreateSymbolicLinkObject = ZwCreateSymbolicLinkObject@16
|
||||
ZwCreateThread@32
|
||||
ZwCreateThread = ZwCreateThread@32
|
||||
ZwCreateTimer@16
|
||||
ZwCreateTimer = ZwCreateTimer@16
|
||||
ZwCreateToken@52
|
||||
ZwCreateToken = ZwCreateToken@52
|
||||
ZwDelayExecution@8
|
||||
ZwDelayExecution = ZwDelayExecution@8
|
||||
ZwDeleteAtom@4
|
||||
ZwDeleteAtom = ZwDeleteAtom@4
|
||||
ZwDeleteFile@4
|
||||
ZwDeleteFile = ZwDeleteFile@4
|
||||
ZwDeleteKey@4
|
||||
ZwDeleteKey = ZwDeleteKey@4
|
||||
ZwDeleteObjectAuditAlarm@12
|
||||
ZwDeleteObjectAuditAlarm = ZwDeleteObjectAuditAlarm@12
|
||||
ZwDeleteValueKey@8
|
||||
ZwDeleteValueKey = ZwDeleteValueKey@8
|
||||
ZwDeviceIoControlFile@40
|
||||
ZwDeviceIoControlFile = ZwDeviceIoControlFile@40
|
||||
ZwDisplayString@4
|
||||
ZwDisplayString = ZwDisplayString@4
|
||||
ZwDuplicateObject@28
|
||||
ZwDuplicateObject = ZwDuplicateObject@28
|
||||
ZwDuplicateToken@24
|
||||
ZwDuplicateToken = ZwDuplicateToken@24
|
||||
ZwEnumerateKey@24
|
||||
ZwEnumerateKey = ZwEnumerateKey@24
|
||||
ZwEnumerateValueKey@24
|
||||
ZwEnumerateValueKey = ZwEnumerateValueKey@24
|
||||
ZwExtendSection@8
|
||||
ZwExtendSection = ZwExtendSection@8
|
||||
ZwFindAtom@8
|
||||
ZwFindAtom = ZwFindAtom@8
|
||||
ZwFlushBuffersFile@8
|
||||
ZwFlushBuffersFile = ZwFlushBuffersFile@8
|
||||
ZwFlushInstructionCache@12
|
||||
ZwFlushInstructionCache = ZwFlushInstructionCache@12
|
||||
ZwFlushKey@4
|
||||
ZwFlushKey = ZwFlushKey@4
|
||||
ZwFlushVirtualMemory@16
|
||||
ZwFlushVirtualMemory = ZwFlushVirtualMemory@16
|
||||
ZwFlushWriteBuffer@0
|
||||
ZwFlushWriteBuffer = ZwFlushWriteBuffer@0
|
||||
ZwFreeVirtualMemory@16
|
||||
ZwFreeVirtualMemory = ZwFreeVirtualMemory@16
|
||||
ZwFsControlFile@40
|
||||
ZwFsControlFile = ZwFsControlFile@40
|
||||
ZwGetContextThread@8
|
||||
ZwGetContextThread = ZwGetContextThread@8
|
||||
ZwGetPlugPlayEvent@16
|
||||
ZwGetPlugPlayEvent = ZwGetPlugPlayEvent@16
|
||||
ZwGetTickCount@4
|
||||
ZwGetTickCount = ZwGetTickCount@4
|
||||
ZwImpersonateClientOfPort@8
|
||||
ZwImpersonateClientOfPort = ZwImpersonateClientOfPort@8
|
||||
ZwImpersonateThread@12
|
||||
ZwImpersonateThread = ZwImpersonateThread@12
|
||||
ZwInitializeRegistry@4
|
||||
ZwInitializeRegistry = ZwInitializeRegistry@4
|
||||
ZwListenChannel@8
|
||||
ZwListenChannel = ZwListenChannel@8
|
||||
ZwListenPort@8
|
||||
ZwListenPort = ZwListenPort@8
|
||||
ZwLoadDriver@4
|
||||
ZwLoadDriver = ZwLoadDriver@4
|
||||
ZwLoadKey@8
|
||||
ZwLoadKey = ZwLoadKey@8
|
||||
ZwLoadKey2@12
|
||||
ZwLoadKey2 = ZwLoadKey2@12
|
||||
ZwLockFile@40
|
||||
ZwLockFile = ZwLockFile@40
|
||||
ZwLockVirtualMemory@16
|
||||
ZwLockVirtualMemory = ZwLockVirtualMemory@16
|
||||
ZwMakeTemporaryObject@4
|
||||
ZwMakeTemporaryObject = ZwMakeTemporaryObject@4
|
||||
ZwMapViewOfSection@40
|
||||
ZwMapViewOfSection = ZwMapViewOfSection@40
|
||||
ZwNotifyChangeDirectoryFile@36
|
||||
ZwNotifyChangeDirectoryFile = ZwNotifyChangeDirectoryFile@36
|
||||
ZwNotifyChangeKey@40
|
||||
ZwNotifyChangeKey = ZwNotifyChangeKey@40
|
||||
ZwOpenChannel@8
|
||||
ZwOpenChannel = ZwOpenChannel@8
|
||||
ZwOpenDirectoryObject@12
|
||||
ZwOpenDirectoryObject = ZwOpenDirectoryObject@12
|
||||
ZwOpenEvent@12
|
||||
ZwOpenEvent = ZwOpenEvent@12
|
||||
ZwOpenEventPair@12
|
||||
ZwOpenEventPair = ZwOpenEventPair@12
|
||||
ZwOpenFile@24
|
||||
ZwOpenFile = ZwOpenFile@24
|
||||
ZwOpenIoCompletion@12
|
||||
ZwOpenIoCompletion = ZwOpenIoCompletion@12
|
||||
ZwOpenKey@12
|
||||
ZwOpenKey = ZwOpenKey@12
|
||||
ZwOpenMutant@12
|
||||
ZwOpenMutant = ZwOpenMutant@12
|
||||
ZwOpenObjectAuditAlarm@48
|
||||
ZwOpenObjectAuditAlarm = ZwOpenObjectAuditAlarm@48
|
||||
ZwOpenProcess@16
|
||||
ZwOpenProcess = ZwOpenProcess@16
|
||||
ZwOpenProcessToken@12
|
||||
ZwOpenProcessToken = ZwOpenProcessToken@12
|
||||
ZwOpenSection@12
|
||||
ZwOpenSection = ZwOpenSection@12
|
||||
ZwOpenSemaphore@12
|
||||
ZwOpenSemaphore = ZwOpenSemaphore@12
|
||||
ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenSymbolicLinkObject = ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenThread@16
|
||||
ZwOpenThread = ZwOpenThread@16
|
||||
ZwOpenThreadToken@16
|
||||
ZwOpenThreadToken = ZwOpenThreadToken@16
|
||||
ZwOpenTimer@12
|
||||
ZwOpenTimer = ZwOpenTimer@12
|
||||
ZwPlugPlayControl@16
|
||||
ZwPlugPlayControl = ZwPlugPlayControl@16
|
||||
ZwPrivilegeCheck@12
|
||||
ZwPrivilegeCheck = ZwPrivilegeCheck@12
|
||||
ZwPrivilegedServiceAuditAlarm@20
|
||||
ZwPrivilegedServiceAuditAlarm = ZwPrivilegedServiceAuditAlarm@20
|
||||
ZwPrivilegeObjectAuditAlarm@24
|
||||
ZwPrivilegeObjectAuditAlarm = ZwPrivilegeObjectAuditAlarm@24
|
||||
ZwProtectVirtualMemory@20
|
||||
ZwProtectVirtualMemory = ZwProtectVirtualMemory@20
|
||||
ZwPulseEvent@8
|
||||
ZwPulseEvent = ZwPulseEvent@8
|
||||
ZwQueueApcThread@20
|
||||
ZwQueueApcThread = ZwQueueApcThread@20
|
||||
ZwQueryInformationAtom@20
|
||||
ZwQueryInformationAtom = ZwQueryInformationAtom@20
|
||||
ZwQueryAttributesFile@8
|
||||
ZwQueryAttributesFile = ZwQueryAttributesFile@8
|
||||
ZwQueryDefaultLocale@8
|
||||
ZwQueryDefaultLocale = ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile@44
|
||||
ZwQueryDirectoryFile = ZwQueryDirectoryFile@44
|
||||
ZwQueryDirectoryObject@28
|
||||
ZwQueryDirectoryObject = ZwQueryDirectoryObject@28
|
||||
ZwQueryEaFile@36
|
||||
ZwQueryEaFile = ZwQueryEaFile@36
|
||||
ZwQueryEvent@20
|
||||
ZwQueryEvent = ZwQueryEvent@20
|
||||
ZwQueryFullAttributesFile@8
|
||||
ZwQueryFullAttributesFile = ZwQueryFullAttributesFile@8
|
||||
ZwQueryInformationFile@20
|
||||
ZwQueryInformationFile = ZwQueryInformationFile@20
|
||||
ZwQueryInformationPort@20
|
||||
ZwQueryInformationPort = ZwQueryInformationPort@20
|
||||
ZwQueryInformationProcess@20
|
||||
ZwQueryInformationProcess = ZwQueryInformationProcess@20
|
||||
ZwQueryInformationThread@20
|
||||
ZwQueryInformationThread = ZwQueryInformationThread@20
|
||||
ZwQueryInformationToken@20
|
||||
ZwQueryInformationToken = ZwQueryInformationToken@20
|
||||
ZwQueryIntervalProfile@8
|
||||
ZwQueryIntervalProfile = ZwQueryIntervalProfile@8
|
||||
ZwQueryIoCompletion@20
|
||||
ZwQueryIoCompletion = ZwQueryIoCompletion@20
|
||||
ZwQueryKey@20
|
||||
ZwQueryKey = ZwQueryKey@20
|
||||
ZwQueryMultipleValueKey@24
|
||||
ZwQueryMultipleValueKey = ZwQueryMultipleValueKey@24
|
||||
ZwQueryMutant@20
|
||||
ZwQueryMutant = ZwQueryMutant@20
|
||||
ZwQueryObject@20
|
||||
ZwQueryObject = ZwQueryObject@20
|
||||
ZwQueryOleDirectoryFile@44
|
||||
ZwQueryOleDirectoryFile = ZwQueryOleDirectoryFile@44
|
||||
ZwQueryPerformanceCounter@8
|
||||
ZwQueryPerformanceCounter = ZwQueryPerformanceCounter@8
|
||||
ZwQuerySection@20
|
||||
ZwQuerySection = ZwQuerySection@20
|
||||
ZwQuerySecurityObject@20
|
||||
ZwQuerySecurityObject = ZwQuerySecurityObject@20
|
||||
ZwQuerySemaphore@20
|
||||
ZwQuerySemaphore = ZwQuerySemaphore@20
|
||||
ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySymbolicLinkObject = ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySystemEnvironmentValue@16
|
||||
ZwQuerySystemEnvironmentValue = ZwQuerySystemEnvironmentValue@16
|
||||
ZwQuerySystemInformation@16
|
||||
ZwQuerySystemInformation = ZwQuerySystemInformation@16
|
||||
ZwQuerySystemTime@4
|
||||
ZwQuerySystemTime = ZwQuerySystemTime@4
|
||||
ZwQueryTimer@20
|
||||
ZwQueryTimer = ZwQueryTimer@20
|
||||
ZwQueryTimerResolution@12
|
||||
ZwQueryTimerResolution = ZwQueryTimerResolution@12
|
||||
ZwQueryValueKey@24
|
||||
ZwQueryValueKey = ZwQueryValueKey@24
|
||||
ZwQueryVirtualMemory@24
|
||||
ZwQueryVirtualMemory = ZwQueryVirtualMemory@24
|
||||
ZwQueryVolumeInformationFile@20
|
||||
ZwQueryVolumeInformationFile = ZwQueryVolumeInformationFile@20
|
||||
ZwRaiseException@12
|
||||
ZwRaiseException = ZwRaiseException@12
|
||||
ZwRaiseHardError@24
|
||||
ZwRaiseHardError = ZwRaiseHardError@24
|
||||
ZwReadFile@36
|
||||
ZwReadFile = ZwReadFile@36
|
||||
ZwReadFileScatter@36
|
||||
ZwReadFileScatter = ZwReadFileScatter@36
|
||||
ZwReadRequestData@24
|
||||
ZwReadRequestData = ZwReadRequestData@24
|
||||
ZwReadVirtualMemory@20
|
||||
ZwReadVirtualMemory = ZwReadVirtualMemory@20
|
||||
ZwRegisterThreadTerminatePort@4
|
||||
ZwRegisterThreadTerminatePort = ZwRegisterThreadTerminatePort@4
|
||||
ZwReleaseMutant@8
|
||||
ZwReleaseMutant = ZwReleaseMutant@8
|
||||
ZwReleaseSemaphore@12
|
||||
ZwReleaseSemaphore = ZwReleaseSemaphore@12
|
||||
ZwRemoveIoCompletion@20
|
||||
ZwRemoveIoCompletion = ZwRemoveIoCompletion@20
|
||||
ZwReplaceKey@12
|
||||
ZwReplaceKey = ZwReplaceKey@12
|
||||
ZwReplyPort@8
|
||||
ZwReplyPort = ZwReplyPort@8
|
||||
ZwReplyWaitReceivePort@16
|
||||
ZwReplyWaitReceivePort = ZwReplyWaitReceivePort@16
|
||||
ZwReplyWaitReplyPort@8
|
||||
ZwReplyWaitReplyPort = ZwReplyWaitReplyPort@8
|
||||
ZwReplyWaitSendChannel@12
|
||||
ZwReplyWaitSendChannel = ZwReplyWaitSendChannel@12
|
||||
ZwRequestPort@8
|
||||
ZwRequestPort = ZwRequestPort@8
|
||||
ZwRequestWaitReplyPort@12
|
||||
ZwRequestWaitReplyPort = ZwRequestWaitReplyPort@12
|
||||
ZwResetEvent@8
|
||||
ZwResetEvent = ZwResetEvent@8
|
||||
ZwRestoreKey@12
|
||||
ZwRestoreKey = ZwRestoreKey@12
|
||||
ZwResumeThread@8
|
||||
ZwResumeThread = ZwResumeThread@8
|
||||
ZwSaveKey@8
|
||||
ZwSaveKey = ZwSaveKey@8
|
||||
ZwSendWaitReplyChannel@16
|
||||
ZwSendWaitReplyChannel = ZwSendWaitReplyChannel@16
|
||||
ZwSetContextChannel@4
|
||||
ZwSetContextChannel = ZwSetContextChannel@4
|
||||
ZwSetContextThread@8
|
||||
ZwSetContextThread = ZwSetContextThread@8
|
||||
ZwSetDefaultHardErrorPort@4
|
||||
ZwSetDefaultHardErrorPort = ZwSetDefaultHardErrorPort@4
|
||||
ZwSetDefaultLocale@8
|
||||
ZwSetDefaultLocale = ZwSetDefaultLocale@8
|
||||
ZwSetEaFile@16
|
||||
ZwSetEaFile = ZwSetEaFile@16
|
||||
ZwSetEvent@8
|
||||
ZwSetEvent = ZwSetEvent@8
|
||||
ZwSetHighEventPair@4
|
||||
ZwSetHighEventPair = ZwSetHighEventPair@4
|
||||
ZwSetHighWaitLowEventPair@4
|
||||
ZwSetHighWaitLowEventPair = ZwSetHighWaitLowEventPair@4
|
||||
ZwSetInformationFile@20
|
||||
ZwSetInformationFile = ZwSetInformationFile@20
|
||||
ZwSetInformationKey@16
|
||||
ZwSetInformationKey = ZwSetInformationKey@16
|
||||
ZwSetInformationObject@16
|
||||
ZwSetInformationObject = ZwSetInformationObject@16
|
||||
ZwSetInformationProcess@16
|
||||
ZwSetInformationProcess = ZwSetInformationProcess@16
|
||||
ZwSetInformationThread@16
|
||||
ZwSetInformationThread = ZwSetInformationThread@16
|
||||
ZwSetInformationToken@16
|
||||
ZwSetInformationToken = ZwSetInformationToken@16
|
||||
ZwSetIntervalProfile@8
|
||||
ZwSetIntervalProfile = ZwSetIntervalProfile@8
|
||||
ZwSetIoCompletion@20
|
||||
ZwSetIoCompletion = ZwSetIoCompletion@20
|
||||
ZwSetLdtEntries@24
|
||||
ZwSetLdtEntries = ZwSetLdtEntries@24
|
||||
ZwSetLowEventPair@4
|
||||
ZwSetLowEventPair = ZwSetLowEventPair@4
|
||||
ZwSetLowWaitHighEventPair@4
|
||||
ZwSetLowWaitHighEventPair = ZwSetLowWaitHighEventPair@4
|
||||
ZwSetSecurityObject@12
|
||||
ZwSetSecurityObject = ZwSetSecurityObject@12
|
||||
ZwSetSystemEnvironmentValue@8
|
||||
ZwSetSystemEnvironmentValue = ZwSetSystemEnvironmentValue@8
|
||||
ZwSetSystemInformation@12
|
||||
ZwSetSystemInformation = ZwSetSystemInformation@12
|
||||
ZwSetSystemPowerState@12
|
||||
ZwSetSystemPowerState = ZwSetSystemPowerState@12
|
||||
ZwSetSystemTime@8
|
||||
ZwSetSystemTime = ZwSetSystemTime@8
|
||||
ZwSetTimer@28
|
||||
ZwSetTimer = ZwSetTimer@28
|
||||
ZwSetTimerResolution@12
|
||||
ZwSetTimerResolution = ZwSetTimerResolution@12
|
||||
ZwSetValueKey@24
|
||||
ZwSetValueKey = ZwSetValueKey@24
|
||||
ZwSetVolumeInformationFile@20
|
||||
ZwSetVolumeInformationFile = ZwSetVolumeInformationFile@20
|
||||
ZwShutdownSystem@4
|
||||
ZwShutdownSystem = ZwShutdownSystem@4
|
||||
ZwSignalAndWaitForSingleObject@16
|
||||
ZwSignalAndWaitForSingleObject = ZwSignalAndWaitForSingleObject@16
|
||||
ZwStartProfile@4
|
||||
ZwStartProfile = ZwStartProfile@4
|
||||
ZwStopProfile@4
|
||||
ZwStopProfile = ZwStopProfile@4
|
||||
ZwSuspendThread@8
|
||||
ZwSuspendThread = ZwSuspendThread@8
|
||||
ZwSystemDebugControl@24
|
||||
ZwSystemDebugControl = ZwSystemDebugControl@24
|
||||
ZwTerminateProcess@8
|
||||
ZwTerminateProcess = ZwTerminateProcess@8
|
||||
ZwTerminateThread@8
|
||||
ZwTerminateThread = ZwTerminateThread@8
|
||||
ZwTestAlert@0
|
||||
ZwTestAlert = ZwTestAlert@0
|
||||
ZwUnloadDriver@4
|
||||
ZwUnloadDriver = ZwUnloadDriver@4
|
||||
ZwUnloadKey@4
|
||||
ZwUnloadKey = ZwUnloadKey@4
|
||||
ZwUnlockFile@20
|
||||
ZwUnlockFile = ZwUnlockFile@20
|
||||
ZwUnlockVirtualMemory@16
|
||||
ZwUnlockVirtualMemory = ZwUnlockVirtualMemory@16
|
||||
ZwUnmapViewOfSection@8
|
||||
ZwUnmapViewOfSection = ZwUnmapViewOfSection@8
|
||||
ZwVdmControl@8
|
||||
ZwVdmControl = ZwVdmControl@8
|
||||
ZwWaitForMultipleObjects@20
|
||||
ZwWaitForMultipleObjects = ZwWaitForMultipleObjects@20
|
||||
ZwWaitForSingleObject@12
|
||||
ZwWaitForSingleObject = ZwWaitForSingleObject@12
|
||||
ZwWaitHighEventPair@4
|
||||
ZwWaitHighEventPair = ZwWaitHighEventPair@4
|
||||
ZwWaitLowEventPair@4
|
||||
ZwWaitLowEventPair = ZwWaitLowEventPair@4
|
||||
ZwWriteFile@36
|
||||
ZwWriteFile = ZwWriteFile@36
|
||||
ZwWriteFileGather@36
|
||||
ZwWriteFileGather = ZwWriteFileGather@36
|
||||
ZwWriteRequestData@24
|
||||
ZwWriteRequestData = ZwWriteRequestData@24
|
||||
ZwWriteVirtualMemory@20
|
||||
ZwWriteVirtualMemory = ZwWriteVirtualMemory@20
|
||||
ZwW32Call@20
|
||||
ZwW32Call = ZwW32Call@20
|
||||
ZwYieldExecution@0
|
||||
ZwYieldExecution = ZwYieldExecution@0
|
||||
RtlAllocateHeap@12
|
||||
RtlAllocateHeap = RtlAllocateHeap@12
|
||||
RtlCreateHeap@24
|
||||
RtlCreateHeap = RtlCreateHeap@24
|
||||
RtlCompactHeap@8
|
||||
RtlCompactHeap = RtlCompactHeap@8
|
||||
RtlDestroyHeap@4
|
||||
RtlDestroyHeap = RtlDestroyHeap@4
|
||||
RtlFreeHeap@12
|
||||
RtlFreeHeap = RtlFreeHeap@12
|
||||
RtlGetProcessHeap@0
|
||||
RtlGetProcessHeap = RtlGetProcessHeap@0
|
||||
RtlLockHeap@4
|
||||
RtlLockHeap = RtlLockHeap@4
|
||||
RtlReAllocHeap@16
|
||||
RtlReAllocHeap = RtlReAllocHeap@16
|
||||
RtlSizeHeap@12
|
||||
RtlSizeHeap = RtlSizeHeap@12
|
||||
RtlUnlockHeap@4
|
||||
RtlUnlockHeap = RtlUnlockHeap@4
|
||||
RtlValidateHeap@12
|
||||
RtlValidateHeap = RtlValidateHeap@12
|
||||
RtlInitAnsiString
|
||||
RtlInitUnicodeString
|
||||
RtlLargeIntegerAdd
|
||||
|
|
489
reactos/lib/ntdll/def/ntdll.edf
Normal file
489
reactos/lib/ntdll/def/ntdll.edf
Normal file
|
@ -0,0 +1,489 @@
|
|||
EXPORTS
|
||||
InitializeObjectAttributes
|
||||
NtAcceptConnectPort=NtAcceptConnectPort@24
|
||||
NtAccessCheck=NtAccessCheck@32
|
||||
NtAccessCheckAndAuditAlarm=NtAccessCheckAndAuditAlarm@44
|
||||
NtAddAtom=NtAddAtom@8
|
||||
NtAdjustGroupsToken=NtAdjustGroupsToken@24
|
||||
NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
|
||||
NtAlertResumeThread=NtAlertResumeThread@8
|
||||
NtAlertThread=NtAlertThread@4
|
||||
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
|
||||
NtAllocateUuids=NtAllocateUuids@12
|
||||
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
|
||||
NtCallbackReturn=NtCallbackReturn@12
|
||||
NtCancelIoFile=NtCancelIoFile@8
|
||||
NtCancelTimer=NtCancelTimer@8
|
||||
NtClearEvent=NtClearEvent@4
|
||||
NtClose=NtClose@4
|
||||
NtCloseObjectAuditAlarm=NtCloseObjectAuditAlarm@12
|
||||
NtCompleteConnectPort=NtCompleteConnectPort@4
|
||||
NtConnectPort=NtConnectPort@32
|
||||
NtContinue=NtContinue@8
|
||||
NtCreateChannel=NtCreateChannel@8
|
||||
NtCreateDirectoryObject=NtCreateDirectoryObject@12
|
||||
NtCreateEvent=NtCreateEvent@20
|
||||
NtCreateEventPair=NtCreateEventPair@12
|
||||
NtCreateFile=NtCreateFile@44
|
||||
NtCreateIoCompletion=NtCreateIoCompletion@16
|
||||
NtCreateKey=NtCreateKey@28
|
||||
NtCreateMailslotFile=NtCreateMailslotFile@32
|
||||
NtCreateMutant=NtCreateMutant@16
|
||||
NtCreateNamedPipeFile=NtCreateNamedPipeFile@56
|
||||
NtCreatePagingFile=NtCreatePagingFile@16
|
||||
NtCreatePort=NtCreatePort@20
|
||||
NtCreateProcess=NtCreateProcess@32
|
||||
NtCreateProfile=NtCreateProfile@36
|
||||
NtCreateSection=NtCreateSection@28
|
||||
NtCreateSemaphore=NtCreateSemaphore@20
|
||||
NtCreateSymbolicLinkObject=NtCreateSymbolicLinkObject@16
|
||||
NtCreateThread=NtCreateThread@32
|
||||
NtCreateTimer=NtCreateTimer@16
|
||||
NtCreateToken=NtCreateToken@52
|
||||
NtDelayExecution=NtDelayExecution@8
|
||||
NtDeleteAtom=NtDeleteAtom@4
|
||||
NtDeleteFile=NtDeleteFile@4
|
||||
NtDeleteKey=NtDeleteKey@4
|
||||
NtDeleteObjectAuditAlarm=NtDeleteObjectAuditAlarm@12
|
||||
NtDeleteValueKey=NtDeleteValueKey@8
|
||||
NtDeviceIoControlFile=NtDeviceIoControlFile@40
|
||||
NtDisplayString=NtDisplayString@4
|
||||
NtDuplicateObject=NtDuplicateObject@28
|
||||
NtDuplicateToken=NtDuplicateToken@24
|
||||
NtEnumerateKey=NtEnumerateKey@24
|
||||
NtEnumerateValueKey=NtEnumerateValueKey@24
|
||||
NtExtendSection=NtExtendSection@8
|
||||
NtFindAtom=NtFindAtom@8
|
||||
NtFlushBuffersFile=NtFlushBuffersFile@8
|
||||
NtFlushInstructionCache=NtFlushInstructionCache@12
|
||||
NtFlushKey=NtFlushKey@4
|
||||
NtFlushVirtualMemory=NtFlushVirtualMemory@16
|
||||
NtFlushWriteBuffer=NtFlushWriteBuffer@0
|
||||
NtFreeVirtualMemory=NtFreeVirtualMemory@16
|
||||
NtFsControlFile=NtFsControlFile@40
|
||||
NtGetContextThread=NtGetContextThread@8
|
||||
NtGetPlugPlayEvent=NtGetPlugPlayEvent@16
|
||||
NtGetTickCount=NtGetTickCount@4
|
||||
NtImpersonateClientOfPort=NtImpersonateClientOfPort@8
|
||||
NtImpersonateThread=NtImpersonateThread@12
|
||||
NtInitializeRegistry=NtInitializeRegistry@4
|
||||
NtListenChannel=NtListenChannel@8
|
||||
NtListenPort=NtListenPort@8
|
||||
NtLoadDriver=NtLoadDriver@4
|
||||
NtLoadKey=NtLoadKey@8
|
||||
NtLoadKey2=NtLoadKey2@12
|
||||
NtLockFile=NtLockFile@40
|
||||
NtLockVirtualMemory=NtLockVirtualMemory@16
|
||||
NtMakeTemporaryObject=NtMakeTemporaryObject@4
|
||||
NtMapViewOfSection=NtMapViewOfSection@40
|
||||
NtNotifyChangeDirectoryFile=NtNotifyChangeDirectoryFile@36
|
||||
NtNotifyChangeKey=NtNotifyChangeKey@40
|
||||
NtOpenChannel=NtOpenChannel@8
|
||||
NtOpenDirectoryObject=NtOpenDirectoryObject@12
|
||||
NtOpenEvent=NtOpenEvent@12
|
||||
NtOpenEventPair=NtOpenEventPair@12
|
||||
NtOpenFile=NtOpenFile@24
|
||||
NtOpenIoCompletion=NtOpenIoCompletion@12
|
||||
NtOpenKey=NtOpenKey@12
|
||||
NtOpenMutant=NtOpenMutant@12
|
||||
NtOpenObjectAuditAlarm=NtOpenObjectAuditAlarm@48
|
||||
NtOpenProcess=NtOpenProcess@16
|
||||
NtOpenProcessToken=NtOpenProcessToken@12
|
||||
NtOpenSection=NtOpenSection@12
|
||||
NtOpenSemaphore=NtOpenSemaphore@12
|
||||
NtOpenSymbolicLinkObject=NtOpenSymbolicLinkObject@12
|
||||
NtOpenThread=NtOpenThread@16
|
||||
NtOpenThreadToken=NtOpenThreadToken@16
|
||||
NtOpenTimer=NtOpenTimer@12
|
||||
NtPlugPlayControl=NtPlugPlayControl@16
|
||||
NtPrivilegeCheck=NtPrivilegeCheck@12
|
||||
NtPrivilegedServiceAuditAlarm=NtPrivilegedServiceAuditAlarm@20
|
||||
NtPrivilegeObjectAuditAlarm=NtPrivilegeObjectAuditAlarm@24
|
||||
NtProtectVirtualMemory=NtProtectVirtualMemory@20
|
||||
NtPulseEvent=NtPulseEvent@8
|
||||
NtQueueApcThread=NtQueueApcThread@20
|
||||
NtQueryAttributesFile=NtQueryAttributesFile@8
|
||||
NtQueryDefaultLocale=NtQueryDefaultLocale@8
|
||||
NtQueryDirectoryFile=NtQueryDirectoryFile@44
|
||||
NtQueryDirectoryObject=NtQueryDirectoryObject@28
|
||||
NtQueryEaFile=NtQueryEaFile@36
|
||||
NtQueryEvent=NtQueryEvent@20
|
||||
NtQueryFullAttributesFile=NtQueryFullAttributesFile@8
|
||||
NtQueryInformationAtom=NtQueryInformationAtom@20
|
||||
NtQueryInformationFile=NtQueryInformationFile@20
|
||||
NtQueryInformationPort=NtQueryInformationPort@20
|
||||
NtQueryInformationProcess=NtQueryInformationProcess@20
|
||||
NtQueryInformationThread=NtQueryInformationThread@20
|
||||
NtQueryInformationToken=NtQueryInformationToken@20
|
||||
NtQueryIoCompletion=NtQueryIoCompletion@20
|
||||
NtQueryIntervalProfile=NtQueryIntervalProfile@8
|
||||
NtQueryKey=NtQueryKey@20
|
||||
NtQueryMultipleValueKey=NtQueryMultipleValueKey@24
|
||||
NtQueryMutant=NtQueryMutant@20
|
||||
NtQueryObject=NtQueryObject@20
|
||||
NtQueryOleDirectoryFile=NtQueryOleDirectoryFile@44
|
||||
NtQueryPerformanceCounter=NtQueryPerformanceCounter@8
|
||||
NtQuerySection=NtQuerySection@20
|
||||
NtQuerySecurityObject=NtQuerySecurityObject@20
|
||||
NtQuerySemaphore=NtQuerySemaphore@20
|
||||
NtQuerySymbolicLinkObject=NtQuerySymbolicLinkObject@12
|
||||
NtQuerySystemEnvironmentValue=NtQuerySystemEnvironmentValue@16
|
||||
NtQuerySystemInformation=NtQuerySystemInformation@16
|
||||
NtQuerySystemTime=NtQuerySystemTime@4
|
||||
NtQueryTimer=NtQueryTimer@20
|
||||
NtQueryTimerResolution=NtQueryTimerResolution@12
|
||||
NtQueryValueKey=NtQueryValueKey@24
|
||||
NtQueryVirtualMemory=NtQueryVirtualMemory@24
|
||||
NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
|
||||
NtRaiseException=NtRaiseException@12
|
||||
NtRaiseHardError=NtRaiseHardError@24
|
||||
NtReadFile=NtReadFile@36
|
||||
NtReadFileScatter=NtReadFileScatter@36
|
||||
NtReadRequestData=NtReadRequestData@24
|
||||
NtReadVirtualMemory=NtReadVirtualMemory@20
|
||||
NtRegisterThreadTerminatePort=NtRegisterThreadTerminatePort@4
|
||||
NtReleaseMutant=NtReleaseMutant@8
|
||||
NtReleaseSemaphore=NtReleaseSemaphore@12
|
||||
NtRemoveIoCompletion=NtRemoveIoCompletion@20
|
||||
NtReplaceKey=NtReplaceKey@12
|
||||
NtReplyPort=NtReplyPort@8
|
||||
NtReplyWaitReceivePort=NtReplyWaitReceivePort@16
|
||||
NtReplyWaitReplyPort=NtReplyWaitReplyPort@8
|
||||
NtReplyWaitSendChannel=NtReplyWaitSendChannel@12
|
||||
NtRequestPort=NtRequestPort@8
|
||||
NtRequestWaitReplyPort=NtRequestWaitReplyPort@12
|
||||
NtResetEvent=NtResetEvent@8
|
||||
NtRestoreKey=NtRestoreKey@12
|
||||
NtResumeThread=NtResumeThread@8
|
||||
NtSaveKey=NtSaveKey@8
|
||||
NtSendWaitReplyChannel=NtSendWaitReplyChannel@16
|
||||
NtSetContextChannel=NtSetContextChannel@4
|
||||
NtSetContextThread=NtSetContextThread@8
|
||||
NtSetDefaultHardErrorPort=NtSetDefaultHardErrorPort@4
|
||||
NtSetDefaultLocale=NtSetDefaultLocale@8
|
||||
NtSetEaFile=NtSetEaFile@16
|
||||
NtSetEvent=NtSetEvent@8
|
||||
NtSetHighEventPair=NtSetHighEventPair@4
|
||||
NtSetHighWaitLowEventPair=NtSetHighWaitLowEventPair@4
|
||||
NtSetInformationFile=NtSetInformationFile@20
|
||||
NtSetInformationKey=NtSetInformationKey@16
|
||||
NtSetInformationObject=NtSetInformationObject@16
|
||||
NtSetInformationProcess=NtSetInformationProcess@16
|
||||
NtSetInformationThread=NtSetInformationThread@16
|
||||
NtSetInformationToken=NtSetInformationToken@16
|
||||
NtSetIntervalProfile=NtSetIntervalProfile@8
|
||||
NtSetIoCompletion=NtSetIoCompletion@20
|
||||
NtSetLdtEntries=NtSetLdtEntries@24
|
||||
NtSetLowEventPair=NtSetLowEventPair@4
|
||||
NtSetLowWaitHighEventPair=NtSetLowWaitHighEventPair@4
|
||||
NtSetSecurityObject=NtSetSecurityObject@12
|
||||
NtSetSystemEnvironmentValue=NtSetSystemEnvironmentValue@8
|
||||
NtSetSystemInformation=NtSetSystemInformation@12
|
||||
NtSetSystemPowerState=NtSetSystemPowerState@12
|
||||
NtSetSystemTime=NtSetSystemTime@8
|
||||
NtSetTimer=NtSetTimer@28
|
||||
NtSetTimerResolution=NtSetTimerResolution@12
|
||||
NtSetValueKey=NtSetValueKey@24
|
||||
NtSetVolumeInformationFile=NtSetVolumeInformationFile@20
|
||||
NtShutdownSystem=NtShutdownSystem@4
|
||||
NtSignalAndWaitForSingleObject=NtSignalAndWaitForSingleObject@16
|
||||
NtStartProfile=NtStartProfile@4
|
||||
NtStopProfile=NtStopProfile@4
|
||||
NtSuspendThread=NtSuspendThread@8
|
||||
NtSystemDebugControl=NtSystemDebugControl@24
|
||||
NtTerminateProcess=NtTerminateProcess@8
|
||||
NtTerminateThread=NtTerminateThread@8
|
||||
NtTestAlert=NtTestAlert@0
|
||||
NtUnloadDriver=NtUnloadDriver@4
|
||||
NtUnloadKey=NtUnloadKey@4
|
||||
NtUnlockFile=NtUnlockFile@20
|
||||
NtUnlockVirtualMemory=NtUnlockVirtualMemory@16
|
||||
NtUnmapViewOfSection=NtUnmapViewOfSection@8
|
||||
NtVdmControl=NtVdmControl@8
|
||||
NtWaitForMultipleObjects=NtWaitForMultipleObjects@20
|
||||
NtWaitForSingleObject=NtWaitForSingleObject@12
|
||||
NtWaitHighEventPair=NtWaitHighEventPair@4
|
||||
NtWaitLowEventPair=NtWaitLowEventPair@4
|
||||
NtWriteFile=NtWriteFile@36
|
||||
NtWriteFileGather=NtWriteFileGather@36
|
||||
NtWriteRequestData=NtWriteRequestData@24
|
||||
NtWriteVirtualMemory=NtWriteVirtualMemory@20
|
||||
NtW32Call=NtW32Call@20
|
||||
NtYieldExecution=NtYieldExecution@0
|
||||
ZwAcceptConnectPort=ZwAcceptConnectPort@24
|
||||
ZwAccessCheck=ZwAccessCheck@32
|
||||
ZwAccessCheckAndAuditAlarm=ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAddAtom=ZwAddAtom@8
|
||||
ZwAdjustGroupsToken=ZwAdjustGroupsToken@24
|
||||
ZwAdjustPrivilegesToken=ZwAdjustPrivilegesToken@24
|
||||
ZwAlertResumeThread=ZwAlertResumeThread@8
|
||||
ZwAlertThread=ZwAlertThread@4
|
||||
ZwAllocateLocallyUniqueId=ZwAllocateLocallyUniqueId@4
|
||||
ZwAllocateUuids=ZwAllocateUuids@12
|
||||
ZwAllocateVirtualMemory=ZwAllocateVirtualMemory@24
|
||||
ZwCallbackReturn=ZwCallbackReturn@12
|
||||
ZwCancelIoFile=ZwCancelIoFile@8
|
||||
ZwCancelTimer=ZwCancelTimer@8
|
||||
ZwClearEvent=ZwClearEvent@4
|
||||
ZwClose=ZwClose@4
|
||||
ZwCloseObjectAuditAlarm=ZwCloseObjectAuditAlarm@12
|
||||
ZwCompleteConnectPort=ZwCompleteConnectPort@4
|
||||
ZwConnectPort=ZwConnectPort@32
|
||||
ZwContinue=ZwContinue@8
|
||||
ZwCreateChannel=ZwCreateChannel@8
|
||||
ZwCreateDirectoryObject=ZwCreateDirectoryObject@12
|
||||
ZwCreateEvent=ZwCreateEvent@20
|
||||
ZwCreateEventPair=ZwCreateEventPair@12
|
||||
ZwCreateFile=ZwCreateFile@44
|
||||
ZwCreateIoCompletion=ZwCreateIoCompletion@16
|
||||
ZwCreateKey=ZwCreateKey@28
|
||||
ZwCreateMailslotFile=ZwCreateMailslotFile@32
|
||||
ZwCreateMutant=ZwCreateMutant@16
|
||||
ZwCreateNamedPipeFile=ZwCreateNamedPipeFile@56
|
||||
ZwCreatePagingFile=ZwCreatePagingFile@16
|
||||
ZwCreatePort=ZwCreatePort@20
|
||||
ZwCreateProcess=ZwCreateProcess@32
|
||||
ZwCreateProfile=ZwCreateProfile@36
|
||||
ZwCreateSection=ZwCreateSection@28
|
||||
ZwCreateSemaphore=ZwCreateSemaphore@20
|
||||
ZwCreateSymbolicLinkObject=ZwCreateSymbolicLinkObject@16
|
||||
ZwCreateThread=ZwCreateThread@32
|
||||
ZwCreateTimer=ZwCreateTimer@16
|
||||
ZwCreateToken=ZwCreateToken@52
|
||||
ZwDelayExecution=ZwDelayExecution@8
|
||||
ZwDeleteAtom=ZwDeleteAtom@4
|
||||
ZwDeleteFile=ZwDeleteFile@4
|
||||
ZwDeleteKey=ZwDeleteKey@4
|
||||
ZwDeleteObjectAuditAlarm=ZwDeleteObjectAuditAlarm@12
|
||||
ZwDeleteValueKey=ZwDeleteValueKey@8
|
||||
ZwDeviceIoControlFile=ZwDeviceIoControlFile@40
|
||||
ZwDisplayString=ZwDisplayString@4
|
||||
ZwDuplicateObject=ZwDuplicateObject@28
|
||||
ZwDuplicateToken=ZwDuplicateToken@24
|
||||
ZwEnumerateKey=ZwEnumerateKey@24
|
||||
ZwEnumerateValueKey=ZwEnumerateValueKey@24
|
||||
ZwExtendSection=ZwExtendSection@8
|
||||
ZwFindAtom=ZwFindAtom@8
|
||||
ZwFlushBuffersFile=ZwFlushBuffersFile@8
|
||||
ZwFlushInstructionCache=ZwFlushInstructionCache@12
|
||||
ZwFlushKey=ZwFlushKey@4
|
||||
ZwFlushVirtualMemory=ZwFlushVirtualMemory@16
|
||||
ZwFlushWriteBuffer=ZwFlushWriteBuffer@0
|
||||
ZwFreeVirtualMemory=ZwFreeVirtualMemory@16
|
||||
ZwFsControlFile=ZwFsControlFile@40
|
||||
ZwGetContextThread=ZwGetContextThread@8
|
||||
ZwGetPlugPlayEvent=ZwGetPlugPlayEvent@16
|
||||
ZwGetTickCount=ZwGetTickCount@4
|
||||
ZwImpersonateClientOfPort=ZwImpersonateClientOfPort@8
|
||||
ZwImpersonateThread=ZwImpersonateThread@12
|
||||
ZwInitializeRegistry=ZwInitializeRegistry@4
|
||||
ZwListenChannel=ZwListenChannel@8
|
||||
ZwListenPort=ZwListenPort@8
|
||||
ZwLoadDriver=ZwLoadDriver@4
|
||||
ZwLoadKey=ZwLoadKey@8
|
||||
ZwLoadKey2=ZwLoadKey2@12
|
||||
ZwLockFile=ZwLockFile@40
|
||||
ZwLockVirtualMemory=ZwLockVirtualMemory@16
|
||||
ZwMakeTemporaryObject=ZwMakeTemporaryObject@4
|
||||
ZwMapViewOfSection=ZwMapViewOfSection@40
|
||||
ZwNotifyChangeDirectoryFile=ZwNotifyChangeDirectoryFile@36
|
||||
ZwNotifyChangeKey=ZwNotifyChangeKey@40
|
||||
ZwOpenChannel=ZwOpenChannel@8
|
||||
ZwOpenDirectoryObject=ZwOpenDirectoryObject@12
|
||||
ZwOpenEvent=ZwOpenEvent@12
|
||||
ZwOpenEventPair=ZwOpenEventPair@12
|
||||
ZwOpenFile=ZwOpenFile@24
|
||||
ZwOpenIoCompletion=ZwOpenIoCompletion@12
|
||||
ZwOpenKey=ZwOpenKey@12
|
||||
ZwOpenMutant=ZwOpenMutant@12
|
||||
ZwOpenObjectAuditAlarm=ZwOpenObjectAuditAlarm@48
|
||||
ZwOpenProcess=ZwOpenProcess@16
|
||||
ZwOpenProcessToken=ZwOpenProcessToken@12
|
||||
ZwOpenSection=ZwOpenSection@12
|
||||
ZwOpenSemaphore=ZwOpenSemaphore@12
|
||||
ZwOpenSymbolicLinkObject=ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenThread=ZwOpenThread@16
|
||||
ZwOpenThreadToken=ZwOpenThreadToken@16
|
||||
ZwOpenTimer=ZwOpenTimer@12
|
||||
ZwPlugPlayControl=ZwPlugPlayControl@16
|
||||
ZwPrivilegeCheck=ZwPrivilegeCheck@12
|
||||
ZwPrivilegedServiceAuditAlarm=ZwPrivilegedServiceAuditAlarm@20
|
||||
ZwPrivilegeObjectAuditAlarm=ZwPrivilegeObjectAuditAlarm@24
|
||||
ZwProtectVirtualMemory=ZwProtectVirtualMemory@20
|
||||
ZwPulseEvent=ZwPulseEvent@8
|
||||
ZwQueueApcThread=ZwQueueApcThread@20
|
||||
ZwQueryInformationAtom=ZwQueryInformationAtom@20
|
||||
ZwQueryAttributesFile=ZwQueryAttributesFile@8
|
||||
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
|
||||
ZwQueryDirectoryObject=ZwQueryDirectoryObject@28
|
||||
ZwQueryEaFile=ZwQueryEaFile@36
|
||||
ZwQueryEvent=ZwQueryEvent@20
|
||||
ZwQueryFullAttributesFile=ZwQueryFullAttributesFile@8
|
||||
ZwQueryInformationFile=ZwQueryInformationFile@20
|
||||
ZwQueryInformationPort=ZwQueryInformationPort@20
|
||||
ZwQueryInformationProcess=ZwQueryInformationProcess@20
|
||||
ZwQueryInformationThread=ZwQueryInformationThread@20
|
||||
ZwQueryInformationToken=ZwQueryInformationToken@20
|
||||
ZwQueryIntervalProfile=ZwQueryIntervalProfile@8
|
||||
ZwQueryIoCompletion=ZwQueryIoCompletion@20
|
||||
ZwQueryKey=ZwQueryKey@20
|
||||
ZwQueryMultipleValueKey=ZwQueryMultipleValueKey@24
|
||||
ZwQueryMutant=ZwQueryMutant@20
|
||||
ZwQueryObject=ZwQueryObject@20
|
||||
ZwQueryOleDirectoryFile=ZwQueryOleDirectoryFile@44
|
||||
ZwQueryPerformanceCounter=ZwQueryPerformanceCounter@8
|
||||
ZwQuerySection=ZwQuerySection@20
|
||||
ZwQuerySecurityObject=ZwQuerySecurityObject@20
|
||||
ZwQuerySemaphore=ZwQuerySemaphore@20
|
||||
ZwQuerySymbolicLinkObject=ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySystemEnvironmentValue=ZwQuerySystemEnvironmentValue@16
|
||||
ZwQuerySystemInformation=ZwQuerySystemInformation@16
|
||||
ZwQuerySystemTime=ZwQuerySystemTime@4
|
||||
ZwQueryTimer=ZwQueryTimer@20
|
||||
ZwQueryTimerResolution=ZwQueryTimerResolution@12
|
||||
ZwQueryValueKey=ZwQueryValueKey@24
|
||||
ZwQueryVirtualMemory=ZwQueryVirtualMemory@24
|
||||
ZwQueryVolumeInformationFile=ZwQueryVolumeInformationFile@20
|
||||
ZwRaiseException=ZwRaiseException@12
|
||||
ZwRaiseHardError=ZwRaiseHardError@24
|
||||
ZwReadFile=ZwReadFile@36
|
||||
ZwReadFileScatter=ZwReadFileScatter@36
|
||||
ZwReadRequestData=ZwReadRequestData@24
|
||||
ZwReadVirtualMemory=ZwReadVirtualMemory@20
|
||||
ZwRegisterThreadTerminatePort=ZwRegisterThreadTerminatePort@4
|
||||
ZwReleaseMutant=ZwReleaseMutant@8
|
||||
ZwReleaseSemaphore=ZwReleaseSemaphore@12
|
||||
ZwRemoveIoCompletion=ZwRemoveIoCompletion@20
|
||||
ZwReplaceKey=ZwReplaceKey@12
|
||||
ZwReplyPort=ZwReplyPort@8
|
||||
ZwReplyWaitReceivePort=ZwReplyWaitReceivePort@16
|
||||
ZwReplyWaitReplyPort=ZwReplyWaitReplyPort@8
|
||||
ZwReplyWaitSendChannel=ZwReplyWaitSendChannel@12
|
||||
ZwRequestPort=ZwRequestPort@8
|
||||
ZwRequestWaitReplyPort=ZwRequestWaitReplyPort@12
|
||||
ZwResetEvent=ZwResetEvent@8
|
||||
ZwRestoreKey=ZwRestoreKey@12
|
||||
ZwResumeThread=ZwResumeThread@8
|
||||
ZwSaveKey=ZwSaveKey@8
|
||||
ZwSendWaitReplyChannel=ZwSendWaitReplyChannel@16
|
||||
ZwSetContextChannel=ZwSetContextChannel@4
|
||||
ZwSetContextThread=ZwSetContextThread@8
|
||||
ZwSetDefaultHardErrorPort=ZwSetDefaultHardErrorPort@4
|
||||
ZwSetDefaultLocale=ZwSetDefaultLocale@8
|
||||
ZwSetEaFile=ZwSetEaFile@16
|
||||
ZwSetEvent=ZwSetEvent@8
|
||||
ZwSetHighEventPair=ZwSetHighEventPair@4
|
||||
ZwSetHighWaitLowEventPair=ZwSetHighWaitLowEventPair@4
|
||||
ZwSetInformationFile=ZwSetInformationFile@20
|
||||
ZwSetInformationKey=ZwSetInformationKey@16
|
||||
ZwSetInformationObject=ZwSetInformationObject@16
|
||||
ZwSetInformationProcess=ZwSetInformationProcess@16
|
||||
ZwSetInformationThread=ZwSetInformationThread@16
|
||||
ZwSetInformationToken=ZwSetInformationToken@16
|
||||
ZwSetIntervalProfile=ZwSetIntervalProfile@8
|
||||
ZwSetIoCompletion=ZwSetIoCompletion@20
|
||||
ZwSetLdtEntries=ZwSetLdtEntries@24
|
||||
ZwSetLowEventPair=ZwSetLowEventPair@4
|
||||
ZwSetLowWaitHighEventPair=ZwSetLowWaitHighEventPair@4
|
||||
ZwSetSecurityObject=ZwSetSecurityObject@12
|
||||
ZwSetSystemEnvironmentValue=ZwSetSystemEnvironmentValue@8
|
||||
ZwSetSystemInformation=ZwSetSystemInformation@12
|
||||
ZwSetSystemPowerState=ZwSetSystemPowerState@12
|
||||
ZwSetSystemTime=ZwSetSystemTime@8
|
||||
ZwSetTimer=ZwSetTimer@28
|
||||
ZwSetTimerResolution=ZwSetTimerResolution@12
|
||||
ZwSetValueKey=ZwSetValueKey@24
|
||||
ZwSetVolumeInformationFile=ZwSetVolumeInformationFile@20
|
||||
ZwShutdownSystem=ZwShutdownSystem@4
|
||||
ZwSignalAndWaitForSingleObject=ZwSignalAndWaitForSingleObject@16
|
||||
ZwStartProfile=ZwStartProfile@4
|
||||
ZwStopProfile=ZwStopProfile@4
|
||||
ZwSuspendThread=ZwSuspendThread@8
|
||||
ZwSystemDebugControl=ZwSystemDebugControl@24
|
||||
ZwTerminateProcess=ZwTerminateProcess@8
|
||||
ZwTerminateThread=ZwTerminateThread@8
|
||||
ZwTestAlert=ZwTestAlert@0
|
||||
ZwUnloadDriver=ZwUnloadDriver@4
|
||||
ZwUnloadKey=ZwUnloadKey@4
|
||||
ZwUnlockFile=ZwUnlockFile@20
|
||||
ZwUnlockVirtualMemory=ZwUnlockVirtualMemory@16
|
||||
ZwUnmapViewOfSection=ZwUnmapViewOfSection@8
|
||||
ZwVdmControl=ZwVdmControl@8
|
||||
ZwWaitForMultipleObjects=ZwWaitForMultipleObjects@20
|
||||
ZwWaitForSingleObject=ZwWaitForSingleObject@12
|
||||
ZwWaitHighEventPair=ZwWaitHighEventPair@4
|
||||
ZwWaitLowEventPair=ZwWaitLowEventPair@4
|
||||
ZwWriteFile=ZwWriteFile@36
|
||||
ZwWriteFileGather=ZwWriteFileGather@36
|
||||
ZwWriteRequestData=ZwWriteRequestData@24
|
||||
ZwWriteVirtualMemory=ZwWriteVirtualMemory@20
|
||||
ZwW32Call=ZwW32Call@20
|
||||
ZwYieldExecution=ZwYieldExecution@0
|
||||
RtlAllocateHeap=RtlAllocateHeap@12
|
||||
RtlCreateHeap=RtlCreateHeap@24
|
||||
RtlCompactHeap=RtlCompactHeap@8
|
||||
RtlDestroyHeap=RtlDestroyHeap@4
|
||||
RtlFreeHeap=RtlFreeHeap@12
|
||||
RtlGetProcessHeap=RtlGetProcessHeap@0
|
||||
RtlLockHeap=RtlLockHeap@4
|
||||
RtlReAllocHeap=RtlReAllocHeap@16
|
||||
RtlSizeHeap=RtlSizeHeap@12
|
||||
RtlUnlockHeap=RtlUnlockHeap@4
|
||||
RtlValidateHeap=RtlValidateHeap@12
|
||||
RtlInitAnsiString
|
||||
RtlInitUnicodeString
|
||||
RtlLargeIntegerAdd
|
||||
RtlLargeIntegerDivide
|
||||
RtlEnlargedIntegerMultiply
|
||||
RtlEnlargedUnsignedMultiply
|
||||
RtlExtendedIntegerMultiply
|
||||
_splitpath
|
||||
_strcmpi
|
||||
_stricmp
|
||||
_strlwr
|
||||
_strnicmp
|
||||
_strupr
|
||||
atoi
|
||||
atol
|
||||
isalpha
|
||||
isalnum
|
||||
iscntrl
|
||||
isdigit
|
||||
isgraph
|
||||
isprint
|
||||
ispunct
|
||||
isspace
|
||||
isupper
|
||||
iswlower
|
||||
memcpy
|
||||
memmove
|
||||
memset
|
||||
sprintf
|
||||
strcat
|
||||
strchr
|
||||
strcmp
|
||||
strcpy
|
||||
strcspn
|
||||
strncat
|
||||
strncmp
|
||||
strncpy
|
||||
strlen
|
||||
strrchr
|
||||
strstr
|
||||
strtol
|
||||
strtoul
|
||||
tolower
|
||||
toupper
|
||||
towupper
|
||||
wcscat
|
||||
wcschr
|
||||
wcscmp
|
||||
wcscpy
|
||||
wcsncpy
|
||||
wcslen
|
||||
wcsrchr
|
||||
wcsicmp
|
||||
wcsnicmp
|
||||
vsprintf
|
||||
LdrMapNTDllForProcess
|
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
/* $Id: utils.c,v 1.9 1999/07/17 23:10:24 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: lib/ntdll/ldr/startup.c
|
||||
|
@ -30,7 +31,7 @@ typedef WINBOOL STDCALL (*PDLLMAIN_FUNC)(HANDLE hInst,
|
|||
|
||||
static NTSTATUS LdrLoadDll(PDLL* Dll, PCHAR Name)
|
||||
{
|
||||
char fqname[255] = "\\??\\C:\\reactos\\system\\";
|
||||
char fqname[255] = "\\??\\C:\\reactos\\system32\\";
|
||||
ANSI_STRING AnsiString;
|
||||
UNICODE_STRING UnicodeString;
|
||||
OBJECT_ATTRIBUTES FileObjectAttributes;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile,v 1.18 1999/07/16 23:37:04 rex Exp $
|
||||
# $Id: makefile,v 1.19 1999/07/17 23:10:21 ea Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -60,9 +60,8 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) def/ntdll.def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).dll \
|
||||
--def def/$(TARGET).def \
|
||||
--output-lib $(TARGET).a \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) \
|
||||
-specs=$(TARGET)_specs \
|
||||
-mdll \
|
||||
|
@ -74,9 +73,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) def/ntdll.def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def def/$(TARGET).def \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
--def def/$(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
-specs=$(TARGET)_specs \
|
||||
|
|
|
@ -303,13 +303,21 @@ BOOLEAN RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2,
|
|||
return TRUE;
|
||||
};
|
||||
|
||||
VOID RtlFreeAnsiString(IN PANSI_STRING AnsiString)
|
||||
|
||||
VOID
|
||||
RtlFreeAnsiString(IN PANSI_STRING AnsiString)
|
||||
{
|
||||
if (NULL == AnsiString) return;
|
||||
// ExFreePool(AnsiString->Buffer);
|
||||
};
|
||||
|
||||
VOID RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString)
|
||||
|
||||
VOID
|
||||
RtlFreeUnicodeString (
|
||||
IN PUNICODE_STRING UnicodeString
|
||||
)
|
||||
{
|
||||
if (NULL == UnicodeString) return;
|
||||
// ExFreePool(UnicodeString->Buffer);
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile_rex,v 1.5 1999/06/18 22:11:04 ea Exp $
|
||||
# $Id: makefile_rex,v 1.6 1999/07/17 23:10:25 ea Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -49,7 +49,6 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--def $(TARGET).def \
|
||||
--output-lib $(TARGET).a \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
$(CC) $(TARGET).o \
|
||||
../ntdll/ntdll.a \
|
||||
|
@ -63,9 +62,7 @@ $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).dll \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def \
|
||||
--add-stdcall-alias \
|
||||
--kill-at
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) $(TARGET).o \
|
||||
../ntdll/ntdll.a\
|
||||
|
|
File diff suppressed because it is too large
Load diff
562
reactos/lib/user32/user32.edf
Normal file
562
reactos/lib/user32/user32.edf
Normal file
|
@ -0,0 +1,562 @@
|
|||
LIBRARY USER32
|
||||
EXPORTS
|
||||
ActivateKeyboardLayout=ActivateKeyboardLayout@8
|
||||
AdjustWindowRect=AdjustWindowRect@12
|
||||
AdjustWindowRectEx=AdjustWindowRectEx@16
|
||||
AnyPopup=AnyPopup@0
|
||||
AppendMenuA=AppendMenuA@16
|
||||
AppendMenuW=AppendMenuW@16
|
||||
ArrangeIconicWindows=ArrangeIconicWindows@4
|
||||
AttachThreadInput=AttachThreadInput@12
|
||||
BeginDeferWindowPos=BeginDeferWindowPos@4
|
||||
BeginPaint=BeginPaint@8
|
||||
BringWindowToTop=BringWindowToTop@4
|
||||
BroadcastSystemMessage=BroadcastSystemMessage@20
|
||||
CalcChildScroll=CalcChildScroll@8
|
||||
CallMsgFilter=CallMsgFilter@8
|
||||
CallMsgFilterA=CallMsgFilterA@8
|
||||
CallMsgFilterW=CallMsgFilterW@8
|
||||
CallNextHookEx=CallNextHookEx@16
|
||||
CallWindowProcA=CallWindowProcA@20
|
||||
CallWindowProcW=CallWindowProcW@20
|
||||
CascadeChildWindows=CascadeChildWindows@8
|
||||
CascadeWindows=CascadeWindows@20
|
||||
ChangeClipboardChain=ChangeClipboardChain@8
|
||||
ChangeDisplaySettingsA=ChangeDisplaySettingsA@8
|
||||
ChangeDisplaySettingsW=ChangeDisplaySettingsW@8
|
||||
ChangeMenuA=ChangeMenuA@20
|
||||
ChangeMenuW=ChangeMenuW@20
|
||||
CharLowerA=CharLowerA@4
|
||||
CharLowerBuffA=CharLowerBuffA@8
|
||||
CharLowerBuffW=CharLowerBuffW@8
|
||||
CharLowerW=CharLowerW@4
|
||||
CharNextA=CharNextA@4
|
||||
CharNextExA=CharNextExA@12
|
||||
CharNextW=CharNextW@4
|
||||
CharPrevA=CharPrevA@8
|
||||
CharPrevExA=CharPrevExA@16
|
||||
CharPrevW=CharPrevW@8
|
||||
CharToOemA=CharToOemA@8
|
||||
CharToOemBuffA=CharToOemBuffA@12
|
||||
CharToOemBuffW=CharToOemBuffW@12
|
||||
CharToOemW=CharToOemW@8
|
||||
CharUpperA=CharUpperA@4
|
||||
CharUpperBuffA=CharUpperBuffA@8
|
||||
CharUpperBuffW=CharUpperBuffW@8
|
||||
CharUpperW=CharUpperW@4
|
||||
CheckDlgButton=CheckDlgButton@12
|
||||
CheckMenuItem=CheckMenuItem@12
|
||||
CheckMenuRadioItem=CheckMenuRadioItem@20
|
||||
CheckRadioButton=CheckRadioButton@16
|
||||
ChildWindowFromPoint=ChildWindowFromPoint@12
|
||||
ChildWindowFromPointEx=ChildWindowFromPointEx@16
|
||||
ClientToScreen=ClientToScreen@8
|
||||
ClipCursor=ClipCursor@4
|
||||
CloseClipboard=CloseClipboard@0
|
||||
CloseDesktop=CloseDesktop@4
|
||||
CloseWindow=CloseWindow@4
|
||||
CloseWindowStation=CloseWindowStation@4
|
||||
CopyAcceleratorTableA=CopyAcceleratorTableA@12
|
||||
CopyAcceleratorTableW=CopyAcceleratorTableW@12
|
||||
CopyIcon=CopyIcon@4
|
||||
CopyImage=CopyImage@20
|
||||
CopyRect=CopyRect@8
|
||||
CountClipboardFormats=CountClipboardFormats@0
|
||||
CreateAcceleratorTableA=CreateAcceleratorTableA@8
|
||||
CreateAcceleratorTableW=CreateAcceleratorTableW@8
|
||||
CreateCaret=CreateCaret@16
|
||||
CreateCursor=CreateCursor@28
|
||||
CreateDesktopA=CreateDesktopA@24
|
||||
CreateDesktopW=CreateDesktopW@24
|
||||
CreateDialogIndirectParamA=CreateDialogIndirectParamA@20
|
||||
CreateDialogIndirectParamW=CreateDialogIndirectParamW@20
|
||||
CreateDialogParamA=CreateDialogParamA@20
|
||||
CreateDialogParamW=CreateDialogParamW@20
|
||||
CreateIcon=CreateIcon@28
|
||||
CreateIconFromResource=CreateIconFromResource@16
|
||||
CreateIconFromResourceEx=CreateIconFromResourceEx@28
|
||||
CreateIconIndirect=CreateIconIndirect@4
|
||||
CreateMDIWindowA=CreateMDIWindowA@40
|
||||
CreateMDIWindowW=CreateMDIWindowW@40
|
||||
CreateMenu=CreateMenu@0
|
||||
CreatePopupMenu=CreatePopupMenu@0
|
||||
CreateWindowExA=CreateWindowExA@48
|
||||
CreateWindowExW=CreateWindowExW@48
|
||||
CreateWindowStationA=CreateWindowStationA@16
|
||||
CreateWindowStationW=CreateWindowStationW@16
|
||||
DdeAbandonTransaction=DdeAbandonTransaction@12
|
||||
DdeAccessData=DdeAccessData@8
|
||||
DdeAddData=DdeAddData@16
|
||||
DdeClientTransaction=DdeClientTransaction@32
|
||||
DdeCmpStringHandles=DdeCmpStringHandles@8
|
||||
DdeConnect=DdeConnect@16
|
||||
DdeConnectList=DdeConnectList@20
|
||||
DdeCreateDataHandle=DdeCreateDataHandle@28
|
||||
DdeCreateStringHandleA=DdeCreateStringHandleA@12
|
||||
DdeCreateStringHandleW=DdeCreateStringHandleW@12
|
||||
DdeDisconnect=DdeDisconnect@4
|
||||
DdeDisconnectList=DdeDisconnectList@4
|
||||
DdeEnableCallback=DdeEnableCallback@12
|
||||
DdeFreeDataHandle=DdeFreeDataHandle@4
|
||||
DdeFreeStringHandle=DdeFreeStringHandle@8
|
||||
DdeGetData=DdeGetData@16
|
||||
DdeGetLastError=DdeGetLastError@4
|
||||
DdeGetQualityOfService=DdeGetQualityOfService@12
|
||||
DdeImpersonateClient=DdeImpersonateClient@4
|
||||
DdeInitializeA=DdeInitializeA@16
|
||||
DdeInitializeW=DdeInitializeW@16
|
||||
DdeKeepStringHandle=DdeKeepStringHandle@8
|
||||
DdeNameService=DdeNameService@16
|
||||
DdePostAdvise=DdePostAdvise@12
|
||||
DdeQueryConvInfo=DdeQueryConvInfo@12
|
||||
DdeQueryNextServer=DdeQueryNextServer@8
|
||||
DdeQueryStringA=DdeQueryStringA@20
|
||||
DdeQueryStringW=DdeQueryStringW@20
|
||||
DdeReconnect=DdeReconnect@4
|
||||
DdeSetQualityOfService=DdeSetQualityOfService@12
|
||||
DdeSetUserHandle=DdeSetUserHandle@12
|
||||
DdeUnaccessData=DdeUnaccessData@4
|
||||
DdeUninitialize=DdeUninitialize@4
|
||||
DefDlgProcA=DefDlgProcA@16
|
||||
DefDlgProcW=DefDlgProcW@16
|
||||
DefFrameProcA=DefFrameProcA@20
|
||||
DefFrameProcW=DefFrameProcW@20
|
||||
DefMDIChildProcA=DefMDIChildProcA@16
|
||||
DefMDIChildProcW=DefMDIChildProcW@16
|
||||
DefWindowProcA=DefWindowProcA@16
|
||||
DefWindowProcW=DefWindowProcW@16
|
||||
DeferWindowPos=DeferWindowPos@32
|
||||
DeleteMenu=DeleteMenu@12
|
||||
DestroyAcceleratorTable=DestroyAcceleratorTable@4
|
||||
DestroyCaret=DestroyCaret@0
|
||||
DestroyCursor=DestroyCursor@4
|
||||
DestroyIcon=DestroyIcon@4
|
||||
DestroyMenu=DestroyMenu@4
|
||||
DestroyWindow=DestroyWindow@4
|
||||
DialogBoxIndirectParamA=DialogBoxIndirectParamA@20
|
||||
DialogBoxIndirectParamW=DialogBoxIndirectParamW@20
|
||||
DialogBoxParamA=DialogBoxParamA@20
|
||||
DialogBoxParamW=DialogBoxParamW@20
|
||||
DispatchMessageA=DispatchMessageA@4
|
||||
DispatchMessageW=DispatchMessageW@4
|
||||
DlgDirListA=DlgDirListA@20
|
||||
DlgDirListComboBoxA=DlgDirListComboBoxA@20
|
||||
DlgDirListComboBoxW=DlgDirListComboBoxW@20
|
||||
DlgDirListW=DlgDirListW@20
|
||||
DlgDirSelectComboBoxExA=DlgDirSelectComboBoxExA@16
|
||||
DlgDirSelectComboBoxExW=DlgDirSelectComboBoxExW@16
|
||||
DlgDirSelectExA=DlgDirSelectExA@16
|
||||
DlgDirSelectExW=DlgDirSelectExW@16
|
||||
DragDetect=DragDetect@12
|
||||
DragObject=DragObject@20
|
||||
DrawAnimatedRects=DrawAnimatedRects@16
|
||||
DrawCaption=DrawCaption@16
|
||||
DrawEdge=DrawEdge@16
|
||||
DrawFocusRect=DrawFocusRect@8
|
||||
DrawFrame=DrawFrame@16
|
||||
DrawFrameControl=DrawFrameControl@16
|
||||
DrawIcon=DrawIcon@16
|
||||
DrawIconEx=DrawIconEx@36
|
||||
DrawMenuBar=DrawMenuBar@4
|
||||
DrawStateA=DrawStateA@40
|
||||
DrawStateW=DrawStateW@40
|
||||
DrawTextA=DrawTextA@20
|
||||
DrawTextExA=DrawTextExA@24
|
||||
DrawTextExW=DrawTextExW@24
|
||||
DrawTextW=DrawTextW@20
|
||||
EditWndProc=EditWndProc@16
|
||||
EmptyClipboard=EmptyClipboard@0
|
||||
EnableMenuItem=EnableMenuItem@12
|
||||
EnableScrollBar=EnableScrollBar@12
|
||||
EnableWindow=EnableWindow@8
|
||||
EndDeferWindowPos=EndDeferWindowPos@4
|
||||
EndDialog=EndDialog@8
|
||||
EndPaint=EndPaint@8
|
||||
EnumChildWindows=EnumChildWindows@12
|
||||
EnumClipboardFormats=EnumClipboardFormats@4
|
||||
EnumDesktopWindows=EnumDesktopWindows@12
|
||||
EnumDesktopsA=EnumDesktopsA@12
|
||||
EnumDesktopsW=EnumDesktopsW@12
|
||||
EnumDisplaySettingsA=EnumDisplaySettingsA@12
|
||||
EnumDisplaySettingsW=EnumDisplaySettingsW@12
|
||||
EnumPropsA=EnumPropsA@8
|
||||
EnumPropsExA=EnumPropsExA@12
|
||||
EnumPropsExW=EnumPropsExW@12
|
||||
EnumPropsW=EnumPropsW@8
|
||||
EnumThreadWindows=EnumThreadWindows@12
|
||||
EnumWindowStationsA=EnumWindowStationsA@8
|
||||
EnumWindowStationsW=EnumWindowStationsW@8
|
||||
EnumWindows=EnumWindows@8
|
||||
EqualRect=EqualRect@8
|
||||
ExcludeUpdateRgn=ExcludeUpdateRgn@8
|
||||
ExitWindowsEx=ExitWindowsEx@8
|
||||
FillRect=FillRect@12
|
||||
FindWindowA=FindWindowA@8
|
||||
FindWindowExA=FindWindowExA@16
|
||||
FindWindowExW=FindWindowExW@16
|
||||
FindWindowW=FindWindowW@8
|
||||
FlashWindow=FlashWindow@8
|
||||
FrameRect=FrameRect@12
|
||||
FreeDDElParam=FreeDDElParam@8
|
||||
GetActiveWindow=GetActiveWindow@0
|
||||
GetAsyncKeyState=GetAsyncKeyState@4
|
||||
GetCapture=GetCapture@0
|
||||
GetCaretBlinkTime=GetCaretBlinkTime@0
|
||||
GetCaretPos=GetCaretPos@4
|
||||
GetClassInfoA=GetClassInfoA@12
|
||||
GetClassInfoExA=GetClassInfoExA@12
|
||||
GetClassInfoExW=GetClassInfoExW@12
|
||||
GetClassInfoW=GetClassInfoW@12
|
||||
GetClassLongA=GetClassLongA@8
|
||||
GetClassLongW=GetClassLongW@8
|
||||
GetClassNameA=GetClassNameA@12
|
||||
GetClassNameW=GetClassNameW@12
|
||||
GetClassWord=GetClassWord@8
|
||||
GetClientRect=GetClientRect@8
|
||||
GetClipCursor=GetClipCursor@4
|
||||
GetClipboardData=GetClipboardData@4
|
||||
GetClipboardFormatNameA=GetClipboardFormatNameA@12
|
||||
GetClipboardFormatNameW=GetClipboardFormatNameW@12
|
||||
GetClipboardOwner=GetClipboardOwner@0
|
||||
GetClipboardViewer=GetClipboardViewer@0
|
||||
GetCursor=GetCursor@0
|
||||
GetCursorPos=GetCursorPos@4
|
||||
GetDC=GetDC@4
|
||||
GetDCEx=GetDCEx@12
|
||||
GetDesktopWindow=GetDesktopWindow@0
|
||||
GetDialogBaseUnits=GetDialogBaseUnits@0
|
||||
GetDlgCtrlID=GetDlgCtrlID@4
|
||||
GetDlgItem=GetDlgItem@8
|
||||
GetDlgItemInt=GetDlgItemInt@16
|
||||
GetDlgItemTextA=GetDlgItemTextA@16
|
||||
GetDlgItemTextW=GetDlgItemTextW@16
|
||||
GetDoubleClickTime=GetDoubleClickTime@0
|
||||
GetFocus=GetFocus@0
|
||||
GetForegroundWindow=GetForegroundWindow@0
|
||||
GetIconInfo=GetIconInfo@8
|
||||
GetInputDesktop=GetInputDesktop@0
|
||||
GetInputState=GetInputState@0
|
||||
GetKBCodePage=GetKBCodePage@0
|
||||
GetKeyNameTextA=GetKeyNameTextA@12
|
||||
GetKeyNameTextW=GetKeyNameTextW@12
|
||||
GetKeyState=GetKeyState@4
|
||||
GetKeyboardLayout=GetKeyboardLayout@4
|
||||
GetKeyboardLayoutList=GetKeyboardLayoutList@8
|
||||
GetKeyboardLayoutNameA=GetKeyboardLayoutNameA@4
|
||||
GetKeyboardLayoutNameW=GetKeyboardLayoutNameW@4
|
||||
GetKeyboardState=GetKeyboardState@4
|
||||
GetKeyboardType=GetKeyboardType@4
|
||||
GetLastActivePopup=GetLastActivePopup@4
|
||||
GetMenu=GetMenu@4
|
||||
GetMenuCheckMarkDimensions=GetMenuCheckMarkDimensions@0
|
||||
GetMenuContextHelpId=GetMenuContextHelpId@4
|
||||
;_imp__GetMenuContextHelpId=_imp__GetMenuContextHelpId@4
|
||||
GetMenuDefaultItem=GetMenuDefaultItem@12
|
||||
GetMenuItemCount=GetMenuItemCount@4
|
||||
GetMenuItemID=GetMenuItemID@8
|
||||
GetMenuItemInfoA=GetMenuItemInfoA@16
|
||||
GetMenuItemInfoW=GetMenuItemInfoW@16
|
||||
GetMenuItemRect=GetMenuItemRect@16
|
||||
GetMenuState=GetMenuState@12
|
||||
GetMenuStringA=GetMenuStringA@20
|
||||
GetMenuStringW=GetMenuStringW@20
|
||||
GetMessageA=GetMessageA@16
|
||||
GetMessageExtraInfo=GetMessageExtraInfo@0
|
||||
GetMessagePos=GetMessagePos@0
|
||||
GetMessageTime=GetMessageTime@0
|
||||
GetMessageW=GetMessageW@16
|
||||
GetNextDlgGroupItem=GetNextDlgGroupItem@12
|
||||
GetNextDlgTabItem=GetNextDlgTabItem@12
|
||||
GetOpenClipboardWindow=GetOpenClipboardWindow@0
|
||||
GetParent=GetParent@4
|
||||
GetPriorityClipboardFormat=GetPriorityClipboardFormat@8
|
||||
GetProcessWindowStation=GetProcessWindowStation@0
|
||||
GetPropA=GetPropA@8
|
||||
GetPropW=GetPropW@8
|
||||
GetQueueStatus=GetQueueStatus@4
|
||||
GetScrollInfo=GetScrollInfo@12
|
||||
GetScrollPos=GetScrollPos@8
|
||||
GetScrollRange=GetScrollRange@16
|
||||
GetShellWindow=GetShellWindow@0
|
||||
GetSubMenu=GetSubMenu@8
|
||||
GetSysColor=GetSysColor@4
|
||||
GetSysColorBrush=GetSysColorBrush@4
|
||||
GetSystemMenu=GetSystemMenu@8
|
||||
GetSystemMetrics=GetSystemMetrics@4
|
||||
GetTabbedTextExtentA=GetTabbedTextExtentA@20
|
||||
GetTabbedTextExtentW=GetTabbedTextExtentW@20
|
||||
GetThreadDesktop=GetThreadDesktop@4
|
||||
GetTopWindow=GetTopWindow@4
|
||||
GetUpdateRect=GetUpdateRect@12
|
||||
GetUpdateRgn=GetUpdateRgn@12
|
||||
GetUserObjectInformationA=GetUserObjectInformationA@20
|
||||
GetUserObjectInformationW=GetUserObjectInformationW@20
|
||||
GetUserObjectSecurity=GetUserObjectSecurity@20
|
||||
GetWindow=GetWindow@8
|
||||
GetWindowContextHelpId=GetWindowContextHelpId@4
|
||||
;_imp__GetWindowContextHelpId=_imp__GetWindowContextHelpId@4
|
||||
GetWindowDC=GetWindowDC@4
|
||||
GetWindowLongA=GetWindowLongA@8
|
||||
GetWindowLongW=GetWindowLongW@8
|
||||
GetWindowPlacement=GetWindowPlacement@8
|
||||
GetWindowRect=GetWindowRect@8
|
||||
GetWindowRgn=GetWindowRgn@8
|
||||
GetWindowTextA=GetWindowTextA@12
|
||||
GetWindowTextLengthA=GetWindowTextLengthA@4
|
||||
GetWindowTextLengthW=GetWindowTextLengthW@4
|
||||
GetWindowTextW=GetWindowTextW@12
|
||||
GetWindowThreadProcessId=GetWindowThreadProcessId@8
|
||||
GetWindowWord=GetWindowWord@8
|
||||
GrayStringA=GrayStringA@36
|
||||
GrayStringW=GrayStringW@36
|
||||
HideCaret=HideCaret@4
|
||||
HiliteMenuItem=HiliteMenuItem@16
|
||||
ImpersonateDdeClientWindow=ImpersonateDdeClientWindow@8
|
||||
InSendMessage=InSendMessage@0
|
||||
InflateRect=InflateRect@12
|
||||
InsertMenuA=InsertMenuA@20
|
||||
InsertMenuItemA=InsertMenuItemA@16
|
||||
InsertMenuItemW=InsertMenuItemW@16
|
||||
InsertMenuW=InsertMenuW@20
|
||||
IntersectRect=IntersectRect@12
|
||||
InvalidateRect=InvalidateRect@12
|
||||
InvalidateRgn=InvalidateRgn@12
|
||||
InvertRect=InvertRect@8
|
||||
IsCharAlphaA=IsCharAlphaA@4
|
||||
IsCharAlphaNumericA=IsCharAlphaNumericA@4
|
||||
IsCharAlphaNumericW=IsCharAlphaNumericW@4
|
||||
IsCharAlphaW=IsCharAlphaW@4
|
||||
IsCharLowerA=IsCharLowerA@4
|
||||
IsCharLowerW=IsCharLowerW@4
|
||||
IsCharUpperA=IsCharUpperA@4
|
||||
IsCharUpperW=IsCharUpperW@4
|
||||
IsChild=IsChild@8
|
||||
IsClipboardFormatAvailable=IsClipboardFormatAvailable@4
|
||||
IsDialogMessage=IsDialogMessage@8
|
||||
IsDialogMessageA=IsDialogMessageA@8
|
||||
IsDialogMessageW=IsDialogMessageW@8
|
||||
IsDlgButtonChecked=IsDlgButtonChecked@8
|
||||
IsIconic=IsIconic@4
|
||||
IsMenu=IsMenu@4
|
||||
IsRectEmpty=IsRectEmpty@4
|
||||
IsWindow=IsWindow@4
|
||||
IsWindowEnabled=IsWindowEnabled@4
|
||||
IsWindowUnicode=IsWindowUnicode@4
|
||||
IsWindowVisible=IsWindowVisible@4
|
||||
IsZoomed=IsZoomed@4
|
||||
KillSystemTimer=KillSystemTimer@8
|
||||
KillTimer=KillTimer@8
|
||||
LoadAcceleratorsA=LoadAcceleratorsA@8
|
||||
LoadAcceleratorsW=LoadAcceleratorsW@8
|
||||
LoadBitmapA=LoadBitmapA@8
|
||||
LoadBitmapW=LoadBitmapW@8
|
||||
LoadCursorA=LoadCursorA@8
|
||||
LoadCursorFromFileA=LoadCursorFromFileA@4
|
||||
LoadCursorFromFileW=LoadCursorFromFileW@4
|
||||
LoadCursorW=LoadCursorW@8
|
||||
LoadIconA=LoadIconA@8
|
||||
LoadIconW=LoadIconW@8
|
||||
LoadImageA=LoadImageA@24
|
||||
LoadImageW=LoadImageW@24
|
||||
LoadKeyboardLayoutA=LoadKeyboardLayoutA@8
|
||||
LoadKeyboardLayoutW=LoadKeyboardLayoutW@8
|
||||
LoadMenuA=LoadMenuA@8
|
||||
LoadMenuIndirectA=LoadMenuIndirectA@4
|
||||
LoadMenuIndirectW=LoadMenuIndirectW@4
|
||||
LoadMenuW=LoadMenuW@8
|
||||
LoadStringA=LoadStringA@16
|
||||
LoadStringW=LoadStringW@16
|
||||
LockWindowUpdate=LockWindowUpdate@4
|
||||
LookupIconIdFromDirectory=LookupIconIdFromDirectory@8
|
||||
LookupIconIdFromDirectoryEx=LookupIconIdFromDirectoryEx@20
|
||||
MapDialogRect=MapDialogRect@8
|
||||
MapVirtualKeyA=MapVirtualKeyA@8
|
||||
MapVirtualKeyExA=MapVirtualKeyExA@12
|
||||
MapVirtualKeyExW=MapVirtualKeyExW@12
|
||||
MapVirtualKeyW=MapVirtualKeyW@8
|
||||
MapWindowPoints=MapWindowPoints@16
|
||||
MenuItemFromPoint=MenuItemFromPoint@16
|
||||
MessageBeep=MessageBeep@4
|
||||
MessageBoxA=MessageBoxA@16
|
||||
MessageBoxExA=MessageBoxExA@20
|
||||
MessageBoxExW=MessageBoxExW@20
|
||||
MessageBoxIndirectA=MessageBoxIndirectA@4
|
||||
MessageBoxIndirectW=MessageBoxIndirectW@4
|
||||
MessageBoxW=MessageBoxW@16
|
||||
ModifyMenuA=ModifyMenuA@20
|
||||
ModifyMenuW=ModifyMenuW@20
|
||||
MoveWindow=MoveWindow@24
|
||||
MsgWaitForMultipleObjects=MsgWaitForMultipleObjects@20
|
||||
MsgWaitForMultipleObjectsEx=MsgWaitForMultipleObjectsEx@20
|
||||
OemKeyScan=OemKeyScan@4
|
||||
OemToCharA=OemToCharA@8
|
||||
OemToCharBuffA=OemToCharBuffA@12
|
||||
OemToCharBuffW=OemToCharBuffW@12
|
||||
OemToCharW=OemToCharW@8
|
||||
OffsetRect=OffsetRect@12
|
||||
OpenClipboard=OpenClipboard@4
|
||||
OpenDesktopA=OpenDesktopA@16
|
||||
OpenDesktopW=OpenDesktopW@16
|
||||
OpenIcon=OpenIcon@4
|
||||
OpenInputDesktop=OpenInputDesktop@12
|
||||
OpenWindowStationA=OpenWindowStationA@12
|
||||
OpenWindowStationW=OpenWindowStationW@12
|
||||
PackDDElParam=PackDDElParam@12
|
||||
PaintDesktop=PaintDesktop@4
|
||||
PeekMessageA=PeekMessageA@20
|
||||
PeekMessageW=PeekMessageW@20
|
||||
PostMessageA=PostMessageA@16
|
||||
PostMessageW=PostMessageW@16
|
||||
PostQuitMessage=PostQuitMessage@4
|
||||
PostThreadMessageA=PostThreadMessageA@16
|
||||
PostThreadMessageW=PostThreadMessageW@16
|
||||
PtInRect=PtInRect@12
|
||||
RedrawWindow=RedrawWindow@16
|
||||
RegisterClassA=RegisterClassA@4
|
||||
RegisterClassExA=RegisterClassExA@4
|
||||
RegisterClassExW=RegisterClassExW@4
|
||||
RegisterClassW=RegisterClassW@4
|
||||
RegisterClipboardFormatA=RegisterClipboardFormatA@4
|
||||
RegisterClipboardFormatW=RegisterClipboardFormatW@4
|
||||
RegisterHotKey=RegisterHotKey@16
|
||||
RegisterWindowMessageA=RegisterWindowMessageA@4
|
||||
RegisterWindowMessageW=RegisterWindowMessageW@4
|
||||
ReleaseCapture=ReleaseCapture@0
|
||||
ReleaseDC=ReleaseDC@8
|
||||
RemoveMenu=RemoveMenu@12
|
||||
RemovePropA=RemovePropA@8
|
||||
RemovePropW=RemovePropW@8
|
||||
ReplyMessage=ReplyMessage@4
|
||||
ReuseDDElParam=ReuseDDElParam@20
|
||||
ScreenToClient=ScreenToClient@8
|
||||
ScrollChildren=ScrollChildren@12
|
||||
ScrollDC=ScrollDC@28
|
||||
ScrollWindow=ScrollWindow@20
|
||||
ScrollWindowEx=ScrollWindowEx@32
|
||||
SendDlgItemMessageA=SendDlgItemMessageA@20
|
||||
SendDlgItemMessageW=SendDlgItemMessageW@20
|
||||
SendMessageA=SendMessageA@16
|
||||
SendMessageCallbackA=SendMessageCallbackA@24
|
||||
SendMessageCallbackW=SendMessageCallbackW@24
|
||||
SendMessageTimeoutA=SendMessageTimeoutA@28
|
||||
SendMessageTimeoutW=SendMessageTimeoutW@28
|
||||
SendMessageW=SendMessageW@16
|
||||
SendNotifyMessageA=SendNotifyMessageA@16
|
||||
SendNotifyMessageW=SendNotifyMessageW@16
|
||||
SetActiveWindow=SetActiveWindow@4
|
||||
SetCapture=SetCapture@4
|
||||
SetCaretBlinkTime=SetCaretBlinkTime@4
|
||||
SetCaretPos=SetCaretPos@8
|
||||
SetClassLongA=SetClassLongA@12
|
||||
SetClassLongW=SetClassLongW@12
|
||||
SetClassWord=SetClassWord@12
|
||||
SetClipboardData=SetClipboardData@8
|
||||
SetClipboardViewer=SetClipboardViewer@4
|
||||
SetCursor=SetCursor@4
|
||||
SetCursorPos=SetCursorPos@8
|
||||
SetDebugErrorLevel=SetDebugErrorLevel@4
|
||||
SetDeskWallpaper=SetDeskWallpaper@4
|
||||
SetDlgItemInt=SetDlgItemInt@16
|
||||
SetDlgItemTextA=SetDlgItemTextA@12
|
||||
SetDlgItemTextW=SetDlgItemTextW@12
|
||||
SetDoubleClickTime=SetDoubleClickTime@4
|
||||
SetFocus=SetFocus@4
|
||||
SetForegroundWindow=SetForegroundWindow@4
|
||||
SetKeyboardState=SetKeyboardState@4
|
||||
SetLastErrorEx=SetLastErrorEx@8
|
||||
SetMenu=SetMenu@8
|
||||
SetMenuContextHelpId=SetMenuContextHelpId@8
|
||||
;_imp__SetMenuContextHelpId=_imp__SetMenuContextHelpId@8
|
||||
SetMenuDefaultItem=SetMenuDefaultItem@12
|
||||
SetMenuItemBitmaps=SetMenuItemBitmaps@20
|
||||
SetMenuItemInfoA=SetMenuItemInfoA@16
|
||||
SetMenuItemInfoW=SetMenuItemInfoW@16
|
||||
SetMessageExtraInfo=SetMessageExtraInfo@4
|
||||
SetMessageQueue=SetMessageQueue@4
|
||||
SetParent=SetParent@8
|
||||
SetProcessWindowStation=SetProcessWindowStation@4
|
||||
SetPropA=SetPropA@12
|
||||
SetPropW=SetPropW@12
|
||||
SetRect=SetRect@20
|
||||
SetRectEmpty=SetRectEmpty@4
|
||||
SetScrollInfo=SetScrollInfo@16
|
||||
SetScrollPos=SetScrollPos@16
|
||||
SetScrollRange=SetScrollRange@20
|
||||
SetShellWindow=SetShellWindow@4
|
||||
SetSysColors=SetSysColors@12
|
||||
SetSystemCursor=SetSystemCursor@8
|
||||
SetSystemMenu=SetSystemMenu@8
|
||||
SetSystemTimer=SetSystemTimer@16
|
||||
SetThreadDesktop=SetThreadDesktop@4
|
||||
SetTimer=SetTimer@16
|
||||
SetUserObjectInformationA=SetUserObjectInformationA@16
|
||||
SetUserObjectInformationW=SetUserObjectInformationW@16
|
||||
SetUserObjectSecurity=SetUserObjectSecurity@12
|
||||
SetWindowContextHelpId=SetWindowContextHelpId@8
|
||||
;_imp__SetWindowContextHelpId=_imp__SetWindowContextHelpId@8
|
||||
SetWindowLongA=SetWindowLongA@12
|
||||
SetWindowLongW=SetWindowLongW@12
|
||||
SetWindowPlacement=SetWindowPlacement@8
|
||||
SetWindowPos=SetWindowPos@28
|
||||
SetWindowRgn=SetWindowRgn@12
|
||||
SetWindowTextA=SetWindowTextA@8
|
||||
SetWindowTextW=SetWindowTextW@8
|
||||
SetWindowWord=SetWindowWord@12
|
||||
SetWindowsHookA=SetWindowsHookA@8
|
||||
SetWindowsHookExA=SetWindowsHookExA@16
|
||||
SetWindowsHookExW=SetWindowsHookExW@16
|
||||
SetWindowsHookW=SetWindowsHookW@8
|
||||
ShowCaret=ShowCaret@4
|
||||
ShowCursor=ShowCursor@4
|
||||
ShowOwnedPopups=ShowOwnedPopups@8
|
||||
ShowScrollBar=ShowScrollBar@12
|
||||
ShowWindow=ShowWindow@8
|
||||
ShowWindowAsync=ShowWindowAsync@8
|
||||
SubtractRect=SubtractRect@12
|
||||
SwapMouseButton=SwapMouseButton@4
|
||||
SwitchDesktop=SwitchDesktop@4
|
||||
SystemParametersInfoA=SystemParametersInfoA@16
|
||||
SystemParametersInfoW=SystemParametersInfoW@16
|
||||
TabbedTextOutA=TabbedTextOutA@32
|
||||
TabbedTextOutW=TabbedTextOutW@32
|
||||
TileChildWindows=TileChildWindows@8
|
||||
TileWindows=TileWindows@20
|
||||
ToAscii=ToAscii@20
|
||||
ToAsciiEx=ToAsciiEx@24
|
||||
ToUnicode=ToUnicode@24
|
||||
ToUnicodeEx=ToUnicodeEx@28
|
||||
TrackMouseEvent=TrackMouseEvent@4
|
||||
TrackPopupMenu=TrackPopupMenu@28
|
||||
TrackPopupMenuEx=TrackPopupMenuEx@24
|
||||
TranslateAccelerator=TranslateAccelerator@12
|
||||
TranslateAcceleratorA=TranslateAcceleratorA@12
|
||||
TranslateAcceleratorW=TranslateAcceleratorW@12
|
||||
TranslateMDISysAccel=TranslateMDISysAccel@8
|
||||
TranslateMessage=TranslateMessage@4
|
||||
UnhookWindowsHook=UnhookWindowsHook@8
|
||||
UnhookWindowsHookEx=UnhookWindowsHookEx@4
|
||||
UnionRect=UnionRect@12
|
||||
UnloadKeyboardLayout=UnloadKeyboardLayout@4
|
||||
UnpackDDElParam=UnpackDDElParam@16
|
||||
UnregisterClassA=UnregisterClassA@8
|
||||
UnregisterClassW=UnregisterClassW@8
|
||||
UnregisterHotKey=UnregisterHotKey@8
|
||||
UpdateWindow=UpdateWindow@4
|
||||
ValidateRect=ValidateRect@8
|
||||
ValidateRgn=ValidateRgn@8
|
||||
VkKeyScanA=VkKeyScanA@4
|
||||
VkKeyScanExA=VkKeyScanExA@8
|
||||
VkKeyScanExW=VkKeyScanExW@8
|
||||
VkKeyScanW=VkKeyScanW@4
|
||||
WaitForInputIdle=WaitForInputIdle@8
|
||||
WaitMessage=WaitMessage@0
|
||||
WinHelpA=WinHelpA@16
|
||||
WinHelpW=WinHelpW@16
|
||||
WindowFromDC=WindowFromDC@4
|
||||
WindowFromPoint=WindowFromPoint@8
|
||||
keybd_event=keybd_event@16
|
||||
mouse_event=mouse_event@20
|
||||
wsprintfA
|
||||
wsprintfW
|
||||
wvsprintfA=wvsprintfA@12
|
||||
wvsprintfW=wvsprintfW@12
|
142
reactos/makefile.dos
Normal file
142
reactos/makefile.dos
Normal file
|
@ -0,0 +1,142 @@
|
|||
#
|
||||
# Global makefile
|
||||
#
|
||||
|
||||
#
|
||||
# Select your host
|
||||
#
|
||||
#HOST = mingw32-linux
|
||||
#HOST = djgpp-msdos
|
||||
HOST = mingw32-windows
|
||||
|
||||
include rules.mak
|
||||
|
||||
#
|
||||
# Required to run the system
|
||||
#
|
||||
COMPONENTS = iface_native ntoskrnl
|
||||
#DLLS = ntdll kernel32 crtdll user32 fmifs gdi32
|
||||
DLLS = ntdll kernel32 crtdll fmifs gdi32
|
||||
#DLLS = crtdll mingw32
|
||||
SUBSYS = win32k
|
||||
|
||||
#
|
||||
# Select the server(s) you want to build
|
||||
#
|
||||
SERVERS = win32
|
||||
# SERVERS = posix linux os2
|
||||
|
||||
#
|
||||
# Select the loader(s) you want to build
|
||||
#
|
||||
LOADERS = dos
|
||||
# LOADERS = boot
|
||||
|
||||
#
|
||||
# Select the device drivers and filesystems you want
|
||||
#
|
||||
DEVICE_DRIVERS = blue ide keyboard mouse null parallel serial vidport
|
||||
# DEVICE_DRIVERS = beep event floppy ide_test sound test test1
|
||||
FS_DRIVERS = vfat
|
||||
# FS_DRIVERS = minix ext2 template
|
||||
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
|
||||
|
||||
APPS = args hello shell test cat bench
|
||||
# APPS = cmd
|
||||
|
||||
all: $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)
|
||||
.PHONY: all
|
||||
|
||||
clean: $(COMPONENTS:%=%_clean) $(DLLS:%=%_clean) $(LOADERS:%=%_clean) \
|
||||
$(KERNEL_SERVICES:%=%_clean) $(APPS:%=%_clean)
|
||||
.PHONY: clean
|
||||
|
||||
#
|
||||
# Applications
|
||||
#
|
||||
$(APPS): %:
|
||||
make -C apps/$*
|
||||
|
||||
$(APPS:%=%_clean): %_clean:
|
||||
make -C apps/$* clean
|
||||
|
||||
.PHONY: $(APPS) $(APPS:%=%_clean)
|
||||
|
||||
#
|
||||
# Interfaces
|
||||
#
|
||||
iface_native:
|
||||
make -C iface/native
|
||||
|
||||
iface_native_clean:
|
||||
make -C iface/native clean
|
||||
|
||||
.PHONY: iface_native iface_native_clean
|
||||
|
||||
#
|
||||
# Device driver rules
|
||||
#
|
||||
$(DEVICE_DRIVERS): %:
|
||||
make -C services/dd/$*
|
||||
|
||||
$(DEVICE_DRIVERS:%=%_clean): %_clean:
|
||||
make -C services/dd/$* clean
|
||||
|
||||
.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_clean)
|
||||
|
||||
$(FS_DRIVERS): %:
|
||||
make -C services/fs/$*
|
||||
|
||||
$(FS_DRIVERS:%=%_clean): %_clean:
|
||||
make -C services/fs/$* clean
|
||||
|
||||
.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_clean)
|
||||
|
||||
#
|
||||
# Kernel loaders
|
||||
#
|
||||
|
||||
$(LOADERS): %:
|
||||
make -C loaders/$*
|
||||
|
||||
$(LOADERS:%=%_clean): %_clean:
|
||||
make -C loaders/$* clean
|
||||
|
||||
.PHONY: $(LOADERS) $(LOADERS:%=%_clean)
|
||||
|
||||
#
|
||||
# Required system components
|
||||
#
|
||||
|
||||
ntoskrnl:
|
||||
make -C ntoskrnl
|
||||
|
||||
ntoskrnl_clean:
|
||||
make -C ntoskrnl clean
|
||||
|
||||
.PHONY: ntoskrnl ntoskrnl_clean
|
||||
|
||||
#
|
||||
# Required DLLs
|
||||
#
|
||||
|
||||
$(DLLS): %:
|
||||
make -C lib/$*
|
||||
|
||||
$(DLLS:%=%_clean): %_clean:
|
||||
make -C lib/$* clean
|
||||
|
||||
.PHONY: $(DLLS) $(DLLS:%=%_clean)
|
||||
|
||||
#
|
||||
# Kernel Subsystems
|
||||
#
|
||||
$(SUBSYS): %:
|
||||
make -C subsys/$*
|
||||
|
||||
$(SUBSYS:%=%_clean): %_clean:
|
||||
make -C lib/$* clean
|
||||
|
||||
.PHONY: $(SUBSYS) $(SUBSYS:%=%_clean)
|
||||
|
||||
|
|
@ -12,6 +12,7 @@
|
|||
* RJJ 10/12/98 Rolled in David's code to load COFF drivers
|
||||
* JM 14/12/98 Built initial PE user module loader
|
||||
* RJJ 06/03/99 Moved user PE loader into NTDLL
|
||||
* EA 19990717 GetSystemDirectory()
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
@ -33,406 +34,588 @@
|
|||
#define NDEBUG
|
||||
#include <internal/debug.h>
|
||||
|
||||
#include "syspath.h"
|
||||
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
/* LdrLoadImage
|
||||
/**********************************************************************
|
||||
* NAME
|
||||
* LdrLoadImage
|
||||
*
|
||||
* FUNCTION:
|
||||
* Builds the initial environment for a process. Should be used
|
||||
* to load the initial user process.
|
||||
*
|
||||
* ARGUMENTS:
|
||||
* HANDLE ProcessHandle handle of the process to load the module into
|
||||
* PUNICODE_STRING Filename name of the module to load
|
||||
*
|
||||
* RETURNS:
|
||||
* NTSTATUS
|
||||
*/
|
||||
|
||||
#define STACK_TOP (0xb0000000)
|
||||
|
||||
static NTSTATUS LdrCreatePeb(HANDLE ProcessHandle)
|
||||
static
|
||||
NTSTATUS
|
||||
LdrCreatePeb(HANDLE ProcessHandle)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
PVOID PebBase;
|
||||
ULONG PebSize;
|
||||
NT_PEB Peb;
|
||||
ULONG BytesWritten;
|
||||
|
||||
PebBase = (PVOID)PEB_BASE;
|
||||
PebSize = 0x1000;
|
||||
Status = ZwAllocateVirtualMemory(ProcessHandle,
|
||||
&PebBase,
|
||||
0,
|
||||
&PebSize,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return(Status);
|
||||
}
|
||||
|
||||
|
||||
memset(&Peb, 0, sizeof(Peb));
|
||||
Peb.StartupInfo = (PPROCESSINFOW)PEB_STARTUPINFO;
|
||||
NTSTATUS Status;
|
||||
PVOID PebBase;
|
||||
ULONG PebSize;
|
||||
NT_PEB Peb;
|
||||
ULONG BytesWritten;
|
||||
|
||||
ZwWriteVirtualMemory(ProcessHandle,
|
||||
(PVOID)PEB_BASE,
|
||||
&Peb,
|
||||
sizeof(Peb),
|
||||
&BytesWritten);
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
NTSTATUS LdrLoadImage(HANDLE ProcessHandle, PUNICODE_STRING Filename)
|
||||
{
|
||||
char BlockBuffer[1024];
|
||||
DWORD ImageBase, LdrStartupAddr, StackBase;
|
||||
ULONG ImageSize, StackSize;
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES FileObjectAttributes;
|
||||
HANDLE FileHandle, SectionHandle, NTDllSectionHandle, ThreadHandle;
|
||||
HANDLE DupNTDllSectionHandle;
|
||||
CONTEXT Context;
|
||||
UNICODE_STRING DllPathname;
|
||||
PIMAGE_DOS_HEADER DosHeader;
|
||||
PIMAGE_NT_HEADERS NTHeaders;
|
||||
ULONG BytesWritten;
|
||||
ULONG InitialViewSize;
|
||||
ULONG i;
|
||||
HANDLE DupSectionHandle;
|
||||
|
||||
/* Locate and open NTDLL to determine ImageBase and LdrStartup */
|
||||
RtlInitUnicodeString(&DllPathname,L"\\??\\C:\\reactos\\system\\ntdll.dll");
|
||||
InitializeObjectAttributes(&FileObjectAttributes,
|
||||
&DllPathname,
|
||||
0,
|
||||
NULL,
|
||||
NULL);
|
||||
DPRINT("Opening NTDLL\n");
|
||||
Status = ZwOpenFile(&FileHandle,
|
||||
FILE_ALL_ACCESS,
|
||||
&FileObjectAttributes,
|
||||
NULL,
|
||||
0,
|
||||
0);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL open failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
Status = ZwReadFile(FileHandle, 0, 0, 0, 0, BlockBuffer, 1024, 0, 0);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL header read failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
/* FIXME: this will fail if the NT headers are more than 1024 bytes from start */
|
||||
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
|
||||
if (DosHeader->e_magic != IMAGE_DOS_MAGIC ||
|
||||
DosHeader->e_lfanew == 0L ||
|
||||
*(PULONG)((PUCHAR)BlockBuffer + DosHeader->e_lfanew) != IMAGE_PE_MAGIC)
|
||||
{
|
||||
DPRINT("NTDLL format invalid\n");
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
NTHeaders = (PIMAGE_NT_HEADERS)(BlockBuffer + DosHeader->e_lfanew);
|
||||
ImageBase = NTHeaders->OptionalHeader.ImageBase;
|
||||
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
|
||||
/* FIXME: retrieve the offset of LdrStartup from NTDLL */
|
||||
DPRINT("ImageBase %x\n",ImageBase);
|
||||
LdrStartupAddr = ImageBase + NTHeaders->OptionalHeader.AddressOfEntryPoint;
|
||||
|
||||
/* Create a section for NTDLL */
|
||||
Status = ZwCreateSection(&NTDllSectionHandle,
|
||||
SECTION_ALL_ACCESS,
|
||||
NULL,
|
||||
NULL,
|
||||
PAGE_READWRITE,
|
||||
MEM_COMMIT,
|
||||
FileHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL create section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Map the NTDLL into the process */
|
||||
InitialViewSize = DosHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS)
|
||||
+ sizeof(IMAGE_SECTION_HEADER) * NTHeaders->FileHeader.NumberOfSections;
|
||||
Status = ZwMapViewOfSection(NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *)&ImageBase,
|
||||
0,
|
||||
InitialViewSize,
|
||||
NULL,
|
||||
&InitialViewSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL map view of secion failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
for (i=0; i<NTHeaders->FileHeader.NumberOfSections; i++)
|
||||
{
|
||||
PIMAGE_SECTION_HEADER Sections;
|
||||
LARGE_INTEGER Offset;
|
||||
ULONG Base;
|
||||
|
||||
Sections = (PIMAGE_SECTION_HEADER)SECHDROFFSET(BlockBuffer);
|
||||
Base = Sections[i].VirtualAddress + ImageBase;
|
||||
Offset.u.LowPart = Sections[i].PointerToRawData;
|
||||
Offset.u.HighPart = 0;
|
||||
Status = ZwMapViewOfSection(NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *)&Base,
|
||||
0,
|
||||
Sections[i].Misc.VirtualSize,
|
||||
&Offset,
|
||||
(PULONG)&Sections[i].Misc.VirtualSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE);
|
||||
PebBase = (PVOID)PEB_BASE;
|
||||
PebSize = 0x1000;
|
||||
Status = ZwAllocateVirtualMemory(
|
||||
ProcessHandle,
|
||||
& PebBase,
|
||||
0,
|
||||
& PebSize,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL map view of secion failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
ZwClose(FileHandle);
|
||||
|
||||
/* Open process image to determine ImageBase and StackBase/Size */
|
||||
InitializeObjectAttributes(&FileObjectAttributes,
|
||||
Filename,
|
||||
0,
|
||||
NULL,
|
||||
NULL);
|
||||
DPRINT("Opening image file %w\n",FileObjectAttributes.ObjectName->Buffer);
|
||||
Status = ZwOpenFile(&FileHandle, FILE_ALL_ACCESS, &FileObjectAttributes,
|
||||
NULL, 0, 0);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image open failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
Status = ZwReadFile(FileHandle, 0, 0, 0, 0, BlockBuffer, 1024, 0, 0);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image header read failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* FIXME: this will fail if the NT headers are more than 1024 bytes from start */
|
||||
|
||||
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
|
||||
if (DosHeader->e_magic != IMAGE_DOS_MAGIC ||
|
||||
DosHeader->e_lfanew == 0L ||
|
||||
*(PULONG)((PUCHAR)BlockBuffer + DosHeader->e_lfanew) != IMAGE_PE_MAGIC)
|
||||
{
|
||||
DPRINT("Image invalid format rc=%08lx\n", Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
NTHeaders = (PIMAGE_NT_HEADERS)(BlockBuffer + DosHeader->e_lfanew);
|
||||
ImageBase = NTHeaders->OptionalHeader.ImageBase;
|
||||
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
|
||||
|
||||
/* Create a section for the image */
|
||||
Status = ZwCreateSection(&SectionHandle,
|
||||
SECTION_ALL_ACCESS,
|
||||
NULL,
|
||||
NULL,
|
||||
PAGE_READWRITE,
|
||||
MEM_COMMIT,
|
||||
FileHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image create section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Map the image into the process */
|
||||
InitialViewSize = DosHeader->e_lfanew + sizeof(IMAGE_NT_HEADERS)
|
||||
+ sizeof(IMAGE_SECTION_HEADER) * NTHeaders->FileHeader.NumberOfSections;
|
||||
DPRINT("InitialViewSize %x\n",InitialViewSize);
|
||||
Status = ZwMapViewOfSection(SectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *)&ImageBase,
|
||||
0,
|
||||
InitialViewSize,
|
||||
NULL,
|
||||
&InitialViewSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image map view of section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
ZwClose(FileHandle);
|
||||
|
||||
/* Create page backed section for stack */
|
||||
StackBase = (STACK_TOP - NTHeaders->OptionalHeader.SizeOfStackReserve);
|
||||
StackSize = NTHeaders->OptionalHeader.SizeOfStackReserve;
|
||||
Status = ZwAllocateVirtualMemory(ProcessHandle,
|
||||
(PVOID *)&StackBase,
|
||||
0,
|
||||
&StackSize,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Stack allocation failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: unmap the section here */
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
ZwDuplicateObject(NtCurrentProcess(),
|
||||
&SectionHandle,
|
||||
ProcessHandle,
|
||||
&DupSectionHandle,
|
||||
0,
|
||||
FALSE,
|
||||
DUPLICATE_SAME_ACCESS);
|
||||
ZwDuplicateObject(NtCurrentProcess(),
|
||||
&NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
&DupNTDllSectionHandle,
|
||||
0,
|
||||
FALSE,
|
||||
DUPLICATE_SAME_ACCESS);
|
||||
|
||||
ZwWriteVirtualMemory(ProcessHandle,
|
||||
(PVOID)(STACK_TOP - 4),
|
||||
&DupNTDllSectionHandle,
|
||||
sizeof(DupNTDllSectionHandle),
|
||||
&BytesWritten);
|
||||
ZwWriteVirtualMemory(ProcessHandle,
|
||||
(PVOID)(STACK_TOP - 8),
|
||||
&ImageBase,
|
||||
sizeof(ImageBase),
|
||||
&BytesWritten);
|
||||
ZwWriteVirtualMemory(ProcessHandle,
|
||||
(PVOID)(STACK_TOP - 12),
|
||||
&DupSectionHandle,
|
||||
sizeof(DupSectionHandle),
|
||||
&BytesWritten);
|
||||
{
|
||||
return(Status);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Create a peb (grungy)
|
||||
*/
|
||||
Status = LdrCreatePeb(ProcessHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("LDR: Failed to create initial peb\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
/* Initialize context to point to LdrStartup */
|
||||
memset(&Context,0,sizeof(CONTEXT));
|
||||
Context.SegSs = USER_DS;
|
||||
Context.Esp = STACK_TOP - 16;
|
||||
Context.EFlags = 0x202;
|
||||
Context.SegCs = USER_CS;
|
||||
Context.Eip = LdrStartupAddr;
|
||||
Context.SegDs = USER_DS;
|
||||
Context.SegEs = USER_DS;
|
||||
Context.SegFs = USER_DS;
|
||||
Context.SegGs = USER_DS;
|
||||
|
||||
DPRINT("LdrStartupAddr %x\n",LdrStartupAddr);
|
||||
/* FIXME: Create process and let 'er rip */
|
||||
Status = ZwCreateThread(&ThreadHandle,
|
||||
THREAD_ALL_ACCESS,
|
||||
NULL,
|
||||
ProcessHandle,
|
||||
NULL,
|
||||
&Context,
|
||||
NULL,
|
||||
FALSE);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Thread creation failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
memset(
|
||||
& Peb,
|
||||
0,
|
||||
sizeof Peb
|
||||
);
|
||||
Peb.StartupInfo = (PPROCESSINFOW) PEB_STARTUPINFO;
|
||||
|
||||
/* FIXME: destroy the stack memory block here */
|
||||
/* FIXME: unmap the section here */
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
ZwWriteVirtualMemory(
|
||||
ProcessHandle,
|
||||
(PVOID) PEB_BASE,
|
||||
& Peb,
|
||||
sizeof Peb,
|
||||
& BytesWritten
|
||||
);
|
||||
|
||||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
NTSTATUS LdrLoadInitialProcess(VOID)
|
||||
|
||||
NTSTATUS
|
||||
LdrLoadImage (
|
||||
HANDLE ProcessHandle,
|
||||
PUNICODE_STRING Filename
|
||||
)
|
||||
{
|
||||
CHAR BlockBuffer [1024];
|
||||
DWORD ImageBase;
|
||||
DWORD LdrStartupAddr;
|
||||
DWORD StackBase;
|
||||
ULONG ImageSize;
|
||||
ULONG StackSize;
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES FileObjectAttributes;
|
||||
HANDLE FileHandle;
|
||||
HANDLE SectionHandle;
|
||||
HANDLE NTDllSectionHandle;
|
||||
HANDLE ThreadHandle;
|
||||
HANDLE DupNTDllSectionHandle;
|
||||
CONTEXT Context;
|
||||
UNICODE_STRING DllPathname;
|
||||
PIMAGE_DOS_HEADER DosHeader;
|
||||
PIMAGE_NT_HEADERS NTHeaders;
|
||||
ULONG BytesWritten;
|
||||
ULONG InitialViewSize;
|
||||
ULONG i;
|
||||
HANDLE DupSectionHandle;
|
||||
|
||||
WCHAR TmpNameBuffer [MAX_PATH];
|
||||
|
||||
|
||||
/* -- PART I -- */
|
||||
|
||||
/*
|
||||
* Locate and open NTDLL to determine ImageBase
|
||||
* and LdrStartup
|
||||
*/
|
||||
GetSystemDirectory(
|
||||
TmpNameBuffer,
|
||||
sizeof TmpNameBuffer
|
||||
);
|
||||
wcscat(
|
||||
TmpNameBuffer,
|
||||
L"\\ntdll.dll"
|
||||
);
|
||||
RtlInitUnicodeString(
|
||||
& DllPathname,
|
||||
TmpNameBuffer
|
||||
);
|
||||
InitializeObjectAttributes(
|
||||
& FileObjectAttributes,
|
||||
& DllPathname,
|
||||
0,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
DPRINT("Opening NTDLL\n");
|
||||
Status = ZwOpenFile(
|
||||
& FileHandle,
|
||||
FILE_ALL_ACCESS,
|
||||
& FileObjectAttributes,
|
||||
NULL,
|
||||
0,
|
||||
0
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL open failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
Status = ZwReadFile(
|
||||
FileHandle,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
BlockBuffer,
|
||||
sizeof BlockBuffer,
|
||||
0,
|
||||
0
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL header read failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
/*
|
||||
* FIXME: this will fail if the NT headers are
|
||||
* more than 1024 bytes from start.
|
||||
*/
|
||||
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
|
||||
NTHeaders = (PIMAGE_NT_HEADERS) (BlockBuffer + DosHeader->e_lfanew);
|
||||
if (
|
||||
(DosHeader->e_magic != IMAGE_DOS_MAGIC)
|
||||
|| (DosHeader->e_lfanew == 0L)
|
||||
|| (*(PULONG) NTHeaders != IMAGE_PE_MAGIC)
|
||||
)
|
||||
{
|
||||
DPRINT("NTDLL format invalid\n");
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
ImageBase = NTHeaders->OptionalHeader.ImageBase;
|
||||
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
|
||||
/*
|
||||
* FIXME: retrieve the offset of LdrStartup from NTDLL
|
||||
*/
|
||||
DPRINT("ImageBase %x\n",ImageBase);
|
||||
LdrStartupAddr =
|
||||
ImageBase
|
||||
+ NTHeaders->OptionalHeader.AddressOfEntryPoint;
|
||||
/*
|
||||
* Create a section for NTDLL
|
||||
*/
|
||||
Status = ZwCreateSection(
|
||||
& NTDllSectionHandle,
|
||||
SECTION_ALL_ACCESS,
|
||||
NULL,
|
||||
NULL,
|
||||
PAGE_READWRITE,
|
||||
MEM_COMMIT,
|
||||
FileHandle
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL create section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
/*
|
||||
* Map the NTDLL into the process
|
||||
*/
|
||||
InitialViewSize =
|
||||
DosHeader->e_lfanew
|
||||
+ sizeof (IMAGE_NT_HEADERS)
|
||||
+ ( sizeof (IMAGE_SECTION_HEADER)
|
||||
* NTHeaders->FileHeader.NumberOfSections
|
||||
);
|
||||
Status = ZwMapViewOfSection(
|
||||
NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *) & ImageBase,
|
||||
0,
|
||||
InitialViewSize,
|
||||
NULL,
|
||||
& InitialViewSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL map view of secion failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
for ( i = 0;
|
||||
(i < NTHeaders->FileHeader.NumberOfSections);
|
||||
i++
|
||||
)
|
||||
{
|
||||
PIMAGE_SECTION_HEADER Sections;
|
||||
LARGE_INTEGER Offset;
|
||||
ULONG Base;
|
||||
|
||||
Sections =
|
||||
(PIMAGE_SECTION_HEADER) SECHDROFFSET(BlockBuffer);
|
||||
Base =
|
||||
Sections[i].VirtualAddress
|
||||
+ ImageBase;
|
||||
Offset.u.LowPart =
|
||||
Sections[i].PointerToRawData;
|
||||
Offset.u.HighPart =
|
||||
0;
|
||||
Status = ZwMapViewOfSection(
|
||||
NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *) & Base,
|
||||
0,
|
||||
Sections[i].Misc.VirtualSize,
|
||||
& Offset,
|
||||
(PULONG) & Sections[i].Misc.VirtualSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NTDLL map view of secion failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
ZwClose(FileHandle);
|
||||
|
||||
/* -- PART II -- */
|
||||
|
||||
/*
|
||||
* Open process image to determine ImageBase
|
||||
* and StackBase/Size.
|
||||
*/
|
||||
InitializeObjectAttributes(
|
||||
& FileObjectAttributes,
|
||||
Filename,
|
||||
0,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
DPRINT(
|
||||
"Opening image file %w\n",
|
||||
FileObjectAttributes.ObjectName->Buffer
|
||||
);
|
||||
Status = ZwOpenFile(
|
||||
& FileHandle,
|
||||
FILE_ALL_ACCESS,
|
||||
& FileObjectAttributes,
|
||||
NULL,
|
||||
0,
|
||||
0
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image open failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
Status = ZwReadFile(
|
||||
FileHandle,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
BlockBuffer,
|
||||
sizeof BlockBuffer,
|
||||
0,
|
||||
0
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image header read failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
/*
|
||||
* FIXME: this will fail if the NT headers
|
||||
* are more than 1024 bytes from start.
|
||||
*/
|
||||
DosHeader = (PIMAGE_DOS_HEADER) BlockBuffer;
|
||||
NTHeaders =
|
||||
(PIMAGE_NT_HEADERS) (BlockBuffer + DosHeader->e_lfanew);
|
||||
if (
|
||||
(DosHeader->e_magic != IMAGE_DOS_MAGIC)
|
||||
|| (DosHeader->e_lfanew == 0L)
|
||||
|| (*(PULONG) NTHeaders != IMAGE_PE_MAGIC)
|
||||
)
|
||||
{
|
||||
DPRINT("Image invalid format rc=%08lx\n", Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
ImageBase = NTHeaders->OptionalHeader.ImageBase;
|
||||
ImageSize = NTHeaders->OptionalHeader.SizeOfImage;
|
||||
/*
|
||||
* Create a section for the image
|
||||
*/
|
||||
Status = ZwCreateSection(
|
||||
& SectionHandle,
|
||||
SECTION_ALL_ACCESS,
|
||||
NULL,
|
||||
NULL,
|
||||
PAGE_READWRITE,
|
||||
MEM_COMMIT,
|
||||
FileHandle
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image create section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
/*
|
||||
* Map the image into the process
|
||||
*/
|
||||
InitialViewSize =
|
||||
DosHeader->e_lfanew
|
||||
+ sizeof (IMAGE_NT_HEADERS)
|
||||
+ (
|
||||
sizeof(IMAGE_SECTION_HEADER)
|
||||
* NTHeaders->FileHeader.NumberOfSections
|
||||
);
|
||||
DPRINT("InitialViewSize %x\n",InitialViewSize);
|
||||
Status = ZwMapViewOfSection(
|
||||
SectionHandle,
|
||||
ProcessHandle,
|
||||
(PVOID *) & ImageBase,
|
||||
0,
|
||||
InitialViewSize,
|
||||
NULL,
|
||||
& InitialViewSize,
|
||||
0,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Image map view of section failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
ZwClose(FileHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
ZwClose(FileHandle);
|
||||
|
||||
/* -- PART III -- */
|
||||
|
||||
/*
|
||||
* Create page backed section for stack
|
||||
*/
|
||||
StackBase = (
|
||||
STACK_TOP
|
||||
- NTHeaders->OptionalHeader.SizeOfStackReserve
|
||||
);
|
||||
StackSize =
|
||||
NTHeaders->OptionalHeader.SizeOfStackReserve;
|
||||
|
||||
Status = ZwAllocateVirtualMemory(
|
||||
ProcessHandle,
|
||||
(PVOID *) & StackBase,
|
||||
0,
|
||||
& StackSize,
|
||||
MEM_COMMIT,
|
||||
PAGE_READWRITE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Stack allocation failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: unmap the section here */
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
ZwDuplicateObject(
|
||||
NtCurrentProcess(),
|
||||
& SectionHandle,
|
||||
ProcessHandle,
|
||||
& DupSectionHandle,
|
||||
0,
|
||||
FALSE,
|
||||
DUPLICATE_SAME_ACCESS
|
||||
);
|
||||
ZwDuplicateObject(
|
||||
NtCurrentProcess(),
|
||||
& NTDllSectionHandle,
|
||||
ProcessHandle,
|
||||
&DupNTDllSectionHandle,
|
||||
0,
|
||||
FALSE,
|
||||
DUPLICATE_SAME_ACCESS
|
||||
);
|
||||
|
||||
ZwWriteVirtualMemory(
|
||||
ProcessHandle,
|
||||
(PVOID) (STACK_TOP - 4),
|
||||
& DupNTDllSectionHandle,
|
||||
sizeof (DupNTDllSectionHandle),
|
||||
& BytesWritten
|
||||
);
|
||||
ZwWriteVirtualMemory(
|
||||
ProcessHandle,
|
||||
(PVOID) (STACK_TOP - 8),
|
||||
& ImageBase,
|
||||
sizeof (ImageBase),
|
||||
& BytesWritten
|
||||
);
|
||||
ZwWriteVirtualMemory(
|
||||
ProcessHandle,
|
||||
(PVOID) (STACK_TOP - 12),
|
||||
& DupSectionHandle,
|
||||
sizeof (DupSectionHandle),
|
||||
& BytesWritten
|
||||
);
|
||||
/*
|
||||
* Create a peb (grungy)
|
||||
*/
|
||||
Status = LdrCreatePeb(ProcessHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("LDR: Failed to create initial peb\n");
|
||||
return (Status);
|
||||
}
|
||||
/*
|
||||
* Initialize context to point to LdrStartup
|
||||
*/
|
||||
memset(&Context,0,sizeof(CONTEXT));
|
||||
Context.SegSs = USER_DS;
|
||||
Context.Esp = STACK_TOP - 16;
|
||||
Context.EFlags = 0x202;
|
||||
Context.SegCs = USER_CS;
|
||||
Context.Eip = LdrStartupAddr;
|
||||
Context.SegDs = USER_DS;
|
||||
Context.SegEs = USER_DS;
|
||||
Context.SegFs = USER_DS;
|
||||
Context.SegGs = USER_DS;
|
||||
|
||||
DPRINT("LdrStartupAddr %x\n",LdrStartupAddr);
|
||||
/*
|
||||
* FIXME: Create process and let 'er rip
|
||||
*/
|
||||
Status = ZwCreateThread(
|
||||
& ThreadHandle,
|
||||
THREAD_ALL_ACCESS,
|
||||
NULL,
|
||||
ProcessHandle,
|
||||
NULL,
|
||||
& Context,
|
||||
NULL,
|
||||
FALSE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Thread creation failed ");
|
||||
DbgPrintErrorMessage(Status);
|
||||
|
||||
/* FIXME: destroy the stack memory block here */
|
||||
/* FIXME: unmap the section here */
|
||||
/* FIXME: destroy the section here */
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* FIXME: The location of the initial process should be configurable,
|
||||
* from command line or registry
|
||||
*/
|
||||
NTSTATUS
|
||||
LdrLoadInitialProcess (VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
HANDLE ProcessHandle;
|
||||
UNICODE_STRING ProcessName;
|
||||
NTSTATUS Status;
|
||||
HANDLE ProcessHandle;
|
||||
UNICODE_STRING ProcessName;
|
||||
WCHAR TmpNameBuffer [MAX_PATH];
|
||||
|
||||
Status = ZwCreateProcess(&ProcessHandle,
|
||||
PROCESS_ALL_ACCESS,
|
||||
NULL,
|
||||
SystemProcessHandle,
|
||||
FALSE,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("Could not create process\n");
|
||||
return Status;
|
||||
}
|
||||
|
||||
RtlInitUnicodeString(&ProcessName, L"\\??\\C:\\reactos\\system\\shell.exe");
|
||||
Status = LdrLoadImage(ProcessHandle, &ProcessName);
|
||||
|
||||
Status = ZwCreateProcess(
|
||||
& ProcessHandle,
|
||||
PROCESS_ALL_ACCESS,
|
||||
NULL,
|
||||
SystemProcessHandle,
|
||||
FALSE,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("Could not create process\n");
|
||||
return Status;
|
||||
}
|
||||
/*
|
||||
* Get the system directory's name (a DOS device
|
||||
* alias name which is in \\??\\).
|
||||
*/
|
||||
GetSystemDirectory(
|
||||
TmpNameBuffer,
|
||||
sizeof TmpNameBuffer
|
||||
);
|
||||
wcscat(
|
||||
TmpNameBuffer,
|
||||
L"\\shell.exe" /* FIXME: should be smss.exe */
|
||||
);
|
||||
RtlInitUnicodeString(
|
||||
& ProcessName,
|
||||
TmpNameBuffer
|
||||
);
|
||||
Status = LdrLoadImage(
|
||||
ProcessHandle,
|
||||
& ProcessName
|
||||
);
|
||||
|
||||
return Status;
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
/* $Id: loader.c,v 1.30 1999/07/17 23:10:26 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ldr/loader.c
|
||||
|
@ -34,6 +35,9 @@
|
|||
#define NDEBUG
|
||||
#include <internal/debug.h>
|
||||
|
||||
#include "syspath.h"
|
||||
|
||||
|
||||
/* FIXME: this should appear in a kernel header file */
|
||||
NTSTATUS IoInitializeDriver(PDRIVER_INITIALIZE DriverEntry);
|
||||
|
||||
|
@ -168,33 +172,65 @@ VOID LdrInitModuleManagement(VOID)
|
|||
/*
|
||||
* load the auto config drivers.
|
||||
*/
|
||||
VOID LdrLoadAutoConfigDrivers(VOID)
|
||||
static
|
||||
VOID
|
||||
LdrLoadAutoConfigDriver (
|
||||
LPWSTR RelativeDriverName
|
||||
)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
ANSI_STRING AnsiDriverName;
|
||||
UNICODE_STRING DriverName;
|
||||
WCHAR TmpFileName [MAX_PATH];
|
||||
NTSTATUS Status;
|
||||
UNICODE_STRING DriverName;
|
||||
|
||||
RtlInitAnsiString(&AnsiDriverName,"\\??\\C:\\reactos\\system\\drivers\\keyboard.sys");
|
||||
RtlAnsiStringToUnicodeString(&DriverName, &AnsiDriverName, TRUE);
|
||||
Status = LdrLoadDriver(&DriverName);
|
||||
RtlFreeUnicodeString(&DriverName);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("driver load failed, status;%d(%x)\n", Status, Status);
|
||||
DbgPrintErrorMessage(Status);
|
||||
}
|
||||
RtlInitAnsiString(&AnsiDriverName,"\\??\\C:\\reactos\\system\\drivers\\blue.sys");
|
||||
RtlAnsiStringToUnicodeString(&DriverName, &AnsiDriverName, TRUE);
|
||||
Status = LdrLoadDriver(&DriverName);
|
||||
RtlFreeUnicodeString(&DriverName);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("driver load failed, status;%d(%x)\n", Status, Status);
|
||||
DbgPrintErrorMessage(Status);
|
||||
}
|
||||
|
||||
GetSystemDirectory(
|
||||
TmpFileName,
|
||||
(MAX_PATH * sizeof(WCHAR))
|
||||
);
|
||||
wcscat(
|
||||
TmpFileName,
|
||||
L"\\drivers\\"
|
||||
);
|
||||
wcscat(
|
||||
TmpFileName,
|
||||
RelativeDriverName
|
||||
);
|
||||
|
||||
DriverName.Buffer =
|
||||
TmpFileName;
|
||||
DriverName.Length =
|
||||
wcslen(TmpFileName)
|
||||
* sizeof (WCHAR);
|
||||
DriverName.MaximumLength =
|
||||
DriverName.Length
|
||||
+ sizeof(WCHAR);
|
||||
|
||||
Status = LdrLoadDriver(&DriverName);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint(
|
||||
"driver load failed, status;%d(%x)\n",
|
||||
Status,
|
||||
Status
|
||||
);
|
||||
DbgPrintErrorMessage(Status);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
LdrLoadAutoConfigDrivers (VOID)
|
||||
{
|
||||
/*
|
||||
* Keyboard driver
|
||||
*/
|
||||
LdrLoadAutoConfigDriver( L"keyboard.sys" );
|
||||
/*
|
||||
* Raw console driver
|
||||
*/
|
||||
LdrLoadAutoConfigDriver( L"blue.sys" );
|
||||
}
|
||||
|
||||
|
||||
static NTSTATUS
|
||||
LdrCreateModule(PVOID ObjectBody,
|
||||
PVOID Parent,
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
//
|
||||
// File: pedump.c ( I included header file into source file. )
|
||||
|
||||
# include "ccx.h"
|
||||
//# include "ccx.h"
|
||||
|
||||
//typedef char CHAR;
|
||||
//typedef short WCHAR;
|
||||
|
|
90
reactos/ntoskrnl/ldr/syspath.c
Normal file
90
reactos/ntoskrnl/ldr/syspath.c
Normal file
|
@ -0,0 +1,90 @@
|
|||
/* $Id: syspath.c,v 1.1 1999/07/17 23:10:27 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ldr/syspath.c
|
||||
* PURPOSE: Get system path
|
||||
* PROGRAMMERS: EA
|
||||
* UPDATE HISTORY:
|
||||
* EA 19990717 GetSystemDirectory()
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <windows.h>
|
||||
#include <wchar.h>
|
||||
#include <string.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME
|
||||
* GetSystemDirectory
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Get the ReactOS system directory from the registry.
|
||||
* (since registry does not work yet, fill the buffer
|
||||
* with a literal which will remain as the default).
|
||||
*
|
||||
* RETURN VALUE
|
||||
* NULL on error; otherwise SystemDirectoryName.
|
||||
*
|
||||
* REVISIONS
|
||||
* 19990717 (EA)
|
||||
*/
|
||||
LPWSTR
|
||||
GetSystemDirectory (
|
||||
LPWSTR SystemDirectoryName,
|
||||
DWORD Size
|
||||
)
|
||||
{
|
||||
LPWSTR DosDev = L"\\??\\";
|
||||
LPWSTR SDName = L"C:\\reactos\\system32";
|
||||
|
||||
if ( (NULL == SystemDirectoryName)
|
||||
|| (
|
||||
(
|
||||
(wcslen(DosDev)
|
||||
+ wcslen(SDName)
|
||||
+ 1
|
||||
)
|
||||
* sizeof (WCHAR)
|
||||
)
|
||||
> Size
|
||||
)
|
||||
)
|
||||
{
|
||||
DbgPrint("GetSystemDirectory() failed\n");
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
* Prefix with the dos devices aliases
|
||||
* directory, since the system directory
|
||||
* is always given as a dos name by users
|
||||
* (in the registry/by the boot loader?).
|
||||
*/
|
||||
wcscpy(
|
||||
SystemDirectoryName,
|
||||
L"\\??\\"
|
||||
);
|
||||
if (FALSE)
|
||||
{
|
||||
/*
|
||||
* FIXME: get the system directory
|
||||
* from the registry.
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Default value */
|
||||
wcscat(
|
||||
SystemDirectoryName,
|
||||
SDName
|
||||
);
|
||||
}
|
||||
|
||||
return SystemDirectoryName;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
6
reactos/ntoskrnl/ldr/syspath.h
Normal file
6
reactos/ntoskrnl/ldr/syspath.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
LPWSTR
|
||||
GetSystemDirectory (
|
||||
LPWSTR SystemDirectoryName,
|
||||
DWORD Size
|
||||
);
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: makefile_rex,v 1.27 1999/07/16 23:37:05 rex Exp $
|
||||
# $Id: makefile_rex,v 1.28 1999/07/17 23:10:25 ea Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -55,7 +55,7 @@ CM_OBJECTS = cm/registry.o
|
|||
|
||||
DBG_OBJECTS = dbg/brkpoint.o dbg/errinfo.o
|
||||
|
||||
LDR_OBJECTS = ldr/loader.o ldr/init.o
|
||||
LDR_OBJECTS = ldr/loader.o ldr/init.o ldr/syspath.o
|
||||
|
||||
CC_OBJECTS = cc/cacheman.o cc/view.o
|
||||
|
||||
|
@ -134,6 +134,7 @@ $(TARGET).exe: $(OBJECTS) $(TARGET).def
|
|||
$(DLLTOOL) \
|
||||
--dllname $(TARGET).exe \
|
||||
--def $(TARGET).def \
|
||||
--kill-at \
|
||||
--output-lib $(TARGET).a
|
||||
$(CC) \
|
||||
$(TARGET).o \
|
||||
|
@ -152,7 +153,7 @@ $(TARGET).exe: $(OBJECTS) $(TARGET).def
|
|||
--dllname $(TARGET).exe \
|
||||
--base-file base.tmp \
|
||||
--output-exp temp.exp \
|
||||
--def $(TARGET).def
|
||||
--def $(TARGET).edf
|
||||
- $(RM) base.tmp
|
||||
$(CC) \
|
||||
$(TARGET).o \
|
||||
|
|
|
@ -16,17 +16,9 @@
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS STDCALL NtWriteRequestData(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS STDCALL NtVdmControl(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS STDCALL NtReadRequestData(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
/* EOF */
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
/* $Id: port.c,v 1.7 1999/07/17 23:10:28 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/nt/port.c
|
||||
|
@ -280,12 +281,25 @@ NTSTATUS STDCALL NtQueryInformationPort(VOID)
|
|||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtReadRequestData(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtWriteRequestData(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
#else
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtAcceptConnectPort ( /* @24 */
|
||||
IN HANDLE PortHandle,
|
||||
DWORD a1,
|
||||
OUT PHANDLE ConnectedPort,
|
||||
DWORD a2,
|
||||
DWORD a3,
|
||||
DWORD a4,
|
||||
|
@ -309,15 +323,14 @@ NtCompleteConnectPort ( /* @4 */
|
|||
NTSTATUS
|
||||
STDCALL
|
||||
NtConnectPort ( /* @32 */
|
||||
IN HANDLE PortHandle,
|
||||
DWORD a1,
|
||||
DWORD a2,
|
||||
DWORD a3,
|
||||
DWORD a4,
|
||||
DWORD a5,
|
||||
DWORD a6,
|
||||
DWORD a7,
|
||||
DWORD a8
|
||||
OUT PHANDLE ConnectedPort,
|
||||
IN PUNICODE_STRING PortName,
|
||||
IN POBJECT_ATTRIBUTES PortAttributes,
|
||||
IN DWORD a3,
|
||||
IN DWORD a4,
|
||||
IN DWORD a5,
|
||||
IN DWORD a6,
|
||||
IN ULONG Flags
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -330,8 +343,8 @@ NtCreatePort ( /* @20 */
|
|||
OUT PHANDLE PortHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN DWORD a3,
|
||||
IN DWORD a4
|
||||
IN DWORD a3, /* unknown */
|
||||
IN DWORD a4 /* unknown */
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
@ -432,6 +445,24 @@ NtRequestWaitReplyPort ( /* @12 */
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME SYSTEM
|
||||
* NtReadRequestData NOT EXPORTED
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Probably used only for FastLPC, to read data from the
|
||||
* recipient's address space directly.
|
||||
*
|
||||
* ARGUMENTS
|
||||
*
|
||||
* RETURN VALUE
|
||||
*
|
||||
* NOTE
|
||||
* The number of arguments is the same as in NT's.
|
||||
*
|
||||
* REVISIONS
|
||||
*
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtReadRequestData ( /* @24 */
|
||||
|
@ -447,6 +478,24 @@ NtReadRequestData ( /* @24 */
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME SYSTEM
|
||||
* NtWriteRequestData NOT EXPORTED
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Probably used only for FastLPC, to write data in the
|
||||
* recipient's address space directly.
|
||||
*
|
||||
* ARGUMENTS
|
||||
*
|
||||
* RETURN VALUE
|
||||
*
|
||||
* NOTE
|
||||
* The number of arguments is the same as in NT's.
|
||||
*
|
||||
* REVISIONS
|
||||
*
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
NtWriteRequestData ( /* @24 */
|
||||
|
|
|
@ -1,4 +1,14 @@
|
|||
; $Id: ntoskrnl.def,v 1.13 1999/07/17 23:10:26 ea Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
EXPORTS
|
||||
CcInitializeFileCache
|
||||
CcRequestCachePage
|
||||
CcReleaseCachePage
|
||||
CcReleaseFileCache
|
||||
DbgPrint
|
||||
ExAcquireResourceExclusive
|
||||
ExAcquireResourceExclusiveLite
|
||||
|
@ -71,7 +81,7 @@ KeBugCheck
|
|||
KeBugCheckEx
|
||||
KeFlushIoBuffers
|
||||
KeGetCurrentIrql
|
||||
KeGetPreviousMode = KeGetPreviousMode@0
|
||||
KeGetPreviousMode@0
|
||||
KeInitializeDpc
|
||||
KeInitializeEvent
|
||||
KeInitializeSpinLock
|
||||
|
@ -111,6 +121,56 @@ IoStartTimer
|
|||
IoStopTimer
|
||||
MmGetSystemAddressForMdl
|
||||
MmMapIoSpace
|
||||
NtAddAtom@8
|
||||
NtAdjustPrivilegesToken@24
|
||||
NtAllocateLocallyUniqueId@4
|
||||
NtAllocateUuids@12
|
||||
NtAllocateVirtualMemory@24
|
||||
;NtBuildNumber <--- variable?
|
||||
NtClose@4
|
||||
;NtConnectPort@32
|
||||
NtConnectPort@8
|
||||
NtCreateEvent@20
|
||||
NtCreateFile@44
|
||||
NtCreateSection@28
|
||||
NtDeleteAtom@4
|
||||
NtDeleteFile@4
|
||||
NtDeviceIoControlFile@40
|
||||
NtDuplicateObject@28
|
||||
NtDuplicateToken@24
|
||||
NtFindAtom@8
|
||||
NtFreeVirtualMemory@16
|
||||
NtFsControlFile@40
|
||||
;NtGlobalFlag <--- variable?
|
||||
NtLockFile@40
|
||||
NtMapViewOfSection@40
|
||||
NtNotifyChangeDirectoryFile@36
|
||||
NtOpenFile@24
|
||||
NtOpenProcess@16
|
||||
NtOpenProcessToken@12
|
||||
NtQueryDirectoryFile@44
|
||||
NtQueryEaFile@36
|
||||
;NtQueryInformationAtom <--- ?
|
||||
NtQueryInformationFile@20
|
||||
NtQueryInformationProcess@20
|
||||
NtQueryInformationToken@20
|
||||
;NtQueryOleDirectoryFile@ <--- ?
|
||||
NtQuerySecurityObject@20
|
||||
NtQueryVolumeInformationFile@20
|
||||
NtReadFile@36
|
||||
;NtRequestPort@8
|
||||
NtRequestPort@20
|
||||
;NtRequestWaitReplyPort@8
|
||||
NtRequestWaitReplyPort@0
|
||||
NtSetEvent@8
|
||||
NtSetInformationFile@20
|
||||
NtSetInformationProcess@16
|
||||
NtSetInformationThread@16
|
||||
NtSetSecurityObject@12
|
||||
NtUnlockFile@20
|
||||
;NtVdmControl@8 <--- ?
|
||||
NtWaitForSingleObject@12
|
||||
NtWriteFile@36
|
||||
RtlAnsiStringToUnicodeString
|
||||
RtlCompareMemory
|
||||
RtlConvertLongToLargeInteger
|
||||
|
@ -128,88 +188,83 @@ RtlMoveMemory
|
|||
RtlTimeFieldsToTime
|
||||
RtlTimeToTimeFields
|
||||
RtlZeroMemory
|
||||
CcInitializeFileCache
|
||||
CcRequestCachePage
|
||||
CcReleaseCachePage
|
||||
CcReleaseFileCache
|
||||
ZwAccessCheckAndAuditAlarm = ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAlertThread = ZwAlertThread@4
|
||||
ZwAllocateVirtualMemory = ZwAllocateVirtualMemory@24
|
||||
ZwClearEvent = ZwClearEvent@4
|
||||
ZwClose = ZwClose@4
|
||||
ZwCloseObjectAuditAlarm = ZwCloseObjectAuditAlarm@12
|
||||
ZwConnectPort = ZwConnectPort@32
|
||||
ZwCreateDirectoryObject = ZwCreateDirectoryObject@12
|
||||
ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAlertThread@4
|
||||
ZwAllocateVirtualMemory@24
|
||||
ZwClearEvent@4
|
||||
ZwClose@4
|
||||
ZwCloseObjectAuditAlarm@12
|
||||
ZwConnectPort@32
|
||||
ZwCreateDirectoryObject@12
|
||||
ZwCreateEvent = ZwCreateEvent@20
|
||||
ZwCreateFile = ZwCreateFile@44
|
||||
ZwCreateKey = ZwCreateKey@28
|
||||
ZwCreateSection = ZwCreateSection@28
|
||||
ZwCreateSymbolicLinkObject = ZwCreateSymbolicLinkObject@16
|
||||
ZwDeleteFile = ZwDeleteFile@4
|
||||
ZwDeleteKey = ZwDeleteKey@4
|
||||
ZwDeleteValueKey = ZwDeleteValueKey@8
|
||||
ZwDeviceIoControlFile = ZwDeviceIoControlFile@40
|
||||
ZwDisplayString = ZwDisplayString@4
|
||||
ZwDuplicateObject = ZwDuplicateObject@28
|
||||
ZwDuplicateToken = ZwDuplicateToken@24
|
||||
ZwEnumerateKey = ZwEnumerateKey@24
|
||||
ZwEnumerateValueKey = ZwEnumerateValueKey@24
|
||||
ZwFlushInstructionCache = ZwFlushInstructionCache@12
|
||||
ZwFlushKey = ZwFlushKey@4
|
||||
ZwFreeVirtualMemory = ZwFreeVirtualMemory@16
|
||||
ZwFsControlFile = ZwFsControlFile@40
|
||||
ZwLoadDriver = ZwLoadDriver@4
|
||||
ZwLoadKey = ZwLoadKey@8
|
||||
ZwMakeTemporaryObject = ZwMakeTemporaryObject@4
|
||||
ZwMapViewOfSection = ZwMapViewOfSection@40
|
||||
ZwNotifyChangeKey = ZwNotifyChangeKey@40
|
||||
ZwOpenDirectoryObject = ZwOpenDirectoryObject@12
|
||||
ZwOpenEvent = ZwOpenEvent@12
|
||||
ZwOpenFile = ZwOpenFile@24
|
||||
ZwOpenKey = ZwOpenKey@12
|
||||
ZwOpenProcess = ZwOpenProcess@16
|
||||
ZwOpenProcessToken = ZwOpenProcessToken@12
|
||||
ZwOpenSection = ZwOpenSection@12
|
||||
ZwOpenSymbolicLinkObject = ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenThread = ZwOpenThread@16
|
||||
ZwOpenThreadToken = ZwOpenThreadToken@16
|
||||
ZwPulseEvent = ZwPulseEvent@8
|
||||
ZwQueryDefaultLocale = ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile = ZwQueryDirectoryFile@44
|
||||
ZwQueryInformationFile = ZwQueryInformationFile@20
|
||||
ZwQueryInformationProcess = ZwQueryInformationProcess@20
|
||||
ZwQueryInformationToken = ZwQueryInformationToken@20
|
||||
ZwQueryKey = ZwQueryKey@20
|
||||
ZwQueryObject = ZwQueryObject@20
|
||||
ZwQuerySection = ZwQuerySection@20
|
||||
ZwQuerySecurityObject = ZwQuerySecurityObject@20
|
||||
ZwQuerySymbolicLinkObject = ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySystemInformation = ZwQuerySystemInformation@16
|
||||
ZwQueryValueKey = ZwQueryValueKey@24
|
||||
ZwQueryVolumeInformationFile = ZwQueryVolumeInformationFile@20
|
||||
ZwReadFile = ZwReadFile@36
|
||||
ZwReplaceKey = ZwReplaceKey@12
|
||||
ZwRequestWaitReplyPort = ZwRequestWaitReplyPort@12
|
||||
ZwResetEvent = ZwResetEvent@8
|
||||
ZwSaveKey = ZwSaveKey@8
|
||||
ZwSetDefaultLocale = ZwSetDefaultLocale@8
|
||||
ZwSetEvent = ZwSetEvent@8
|
||||
ZwSetInformationFile = ZwSetInformationFile@20
|
||||
ZwSetInformationObject = ZwSetInformationObject@16
|
||||
ZwSetInformationProcess = ZwSetInformationProcess@16
|
||||
ZwSetInformationThread = ZwSetInformationThread@16
|
||||
ZwSetSystemInformation = ZwSetSystemInformation@12
|
||||
ZwSetSystemTime = ZwSetSystemTime@8
|
||||
ZwSetValueKey = ZwSetValueKey@24
|
||||
ZwTerminateProcess = ZwTerminateProcess@8
|
||||
ZwUnloadDriver = ZwUnloadDriver@4
|
||||
ZwUnloadKey = ZwUnloadKey@4
|
||||
ZwUnmapViewOfSection = ZwUnmapViewOfSection@8
|
||||
ZwWaitForMultipleObjects = ZwWaitForMultipleObjects@20
|
||||
ZwWaitForSingleObject = ZwWaitForSingleObject@12
|
||||
ZwWriteFile = ZwWriteFile@36
|
||||
ZwYieldExecution = ZwYieldExecution@0
|
||||
ZwCreateEvent@20
|
||||
ZwCreateFile@44
|
||||
ZwCreateKey@28
|
||||
ZwCreateSection@28
|
||||
ZwCreateSymbolicLinkObject@16
|
||||
ZwDeleteFile@4
|
||||
ZwDeleteKey@4
|
||||
ZwDeleteValueKey@8
|
||||
ZwDeviceIoControlFile@40
|
||||
ZwDisplayString@4
|
||||
ZwDuplicateObject@28
|
||||
ZwDuplicateToken@24
|
||||
ZwEnumerateKey@24
|
||||
ZwEnumerateValueKey@24
|
||||
ZwFlushInstructionCache@12
|
||||
ZwFlushKey@4
|
||||
ZwFreeVirtualMemory@16
|
||||
ZwFsControlFile@40
|
||||
ZwLoadDriver@4
|
||||
ZwLoadKey@8
|
||||
ZwMakeTemporaryObject@4
|
||||
ZwMapViewOfSection@40
|
||||
ZwNotifyChangeKey@40
|
||||
ZwOpenDirectoryObject@12
|
||||
ZwOpenEvent@12
|
||||
ZwOpenFile@24
|
||||
ZwOpenKey@12
|
||||
ZwOpenProcess@16
|
||||
ZwOpenProcessToken@12
|
||||
ZwOpenSection@12
|
||||
ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenThread@16
|
||||
ZwOpenThreadToken@16
|
||||
ZwPulseEvent@8
|
||||
ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile@44
|
||||
ZwQueryInformationFile@20
|
||||
ZwQueryInformationProcess@20
|
||||
ZwQueryInformationToken@20
|
||||
ZwQueryKey@20
|
||||
ZwQueryObject@20
|
||||
ZwQuerySection@20
|
||||
ZwQuerySecurityObject@20
|
||||
ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySystemInformation@16
|
||||
ZwQueryValueKey@24
|
||||
ZwQueryVolumeInformationFile@20
|
||||
ZwReadFile@36
|
||||
ZwReplaceKey@12
|
||||
ZwRequestWaitReplyPort@12
|
||||
ZwResetEvent@8
|
||||
ZwSaveKey@8
|
||||
ZwSetDefaultLocale@8
|
||||
ZwSetEvent@8
|
||||
ZwSetInformationFile@20
|
||||
ZwSetInformationObject@16
|
||||
ZwSetInformationProcess@16
|
||||
ZwSetInformationThread@16
|
||||
ZwSetSystemInformation@12
|
||||
ZwSetSystemTime@8
|
||||
ZwSetValueKey@24
|
||||
ZwTerminateProcess@8
|
||||
ZwUnloadDriver@4
|
||||
ZwUnloadKey@4
|
||||
ZwUnmapViewOfSection@8
|
||||
ZwWaitForMultipleObjects@20
|
||||
ZwWaitForSingleObject@12
|
||||
ZwWriteFile@36
|
||||
ZwYieldExecution@0
|
||||
isdigit
|
||||
islower
|
||||
isprint
|
||||
|
|
288
reactos/ntoskrnl/ntoskrnl.edf
Normal file
288
reactos/ntoskrnl/ntoskrnl.edf
Normal file
|
@ -0,0 +1,288 @@
|
|||
; $Id: ntoskrnl.edf,v 1.1 1999/07/17 23:10:26 ea Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
; ReactOS Operating System
|
||||
;
|
||||
EXPORTS
|
||||
CcInitializeFileCache
|
||||
CcRequestCachePage
|
||||
CcReleaseCachePage
|
||||
CcReleaseFileCache
|
||||
DbgPrint
|
||||
ExAcquireResourceExclusive
|
||||
ExAcquireResourceExclusiveLite
|
||||
ExAcquireResourceSharedLite
|
||||
ExAcquireSharedStarveExclusive
|
||||
ExAcquireSharedWaitForExclusive
|
||||
ExAllocateFromNPagedLookasideList
|
||||
ExAllocateFromPagedLookasideList
|
||||
ExAllocateFromZone
|
||||
ExAllocatePool
|
||||
ExAllocatePoolWithQuota
|
||||
;ExAllocatePoolWithQuotaTag
|
||||
ExAllocatePoolWithTag
|
||||
ExConvertExclusiveToSharedLite
|
||||
ExDeleteNPagedLookasideList
|
||||
ExDeletePagedLookasideList
|
||||
ExDeleteResource
|
||||
ExDeleteResourceLite
|
||||
ExExtendZone
|
||||
ExFreePool
|
||||
ExFreeToNPagedLookasideList
|
||||
ExFreeToPagedLookasideList
|
||||
ExFreeToZone
|
||||
ExGetCurrentResourceThread
|
||||
ExGetExclusiveWaiterCount
|
||||
ExGetSharedWaiterCount
|
||||
ExInitializeFastMutex
|
||||
ExInitializeNPagedLookasideList
|
||||
ExInitializePagedLookasideList
|
||||
ExInitializeResource
|
||||
ExInitializeResourceLite
|
||||
ExInitializeSListHead
|
||||
ExInitializeWorkItem
|
||||
ExInitializeZone
|
||||
ExInterlockedAddLargeInteger
|
||||
ExInterlockedAddUlong
|
||||
ExInterlockedAllocateFromZone
|
||||
ExInterlockedDecrementLong
|
||||
ExInterlockedExchangeUlong
|
||||
ExInterlockedExtendZone
|
||||
ExInterlockedFreeToZone
|
||||
ExInterlockedIncrementLong
|
||||
ExInterlockedInsertHeadList
|
||||
ExInterlockedInsertTailList
|
||||
ExInterlockedPopEntryList
|
||||
ExInterlockedPopEntrySList
|
||||
ExInterlockedPushEntryList
|
||||
ExInterlockedPushEntrySList
|
||||
ExInterlockedRemoveHeadList
|
||||
ExIsFullZone
|
||||
ExIsObjectInFirstZoneSegment
|
||||
ExIsResourceAcquiredExclusiveLite
|
||||
ExIsResourceAcquiredSharedLite
|
||||
ExLocalTimeToSystemTime
|
||||
ExQueryDepthSListHead
|
||||
ExQueueWorkItem
|
||||
ExRaiseStatus
|
||||
ExReinitializeResourceLite
|
||||
ExReleaseFastMutex
|
||||
ExReleaseFastMutexUnsafe
|
||||
ExReleaseResource
|
||||
ExReleaseResourceForThread
|
||||
ExReleaseResourceForThreadLite
|
||||
ExSystemTimeToLocalTime
|
||||
ExTryToAcquireFastMutex
|
||||
ExTryToAcquireResourceExclusiveLite
|
||||
HalGetInterruptVector
|
||||
HalRegisterServiceTable
|
||||
KeBugCheck
|
||||
KeBugCheckEx
|
||||
KeFlushIoBuffers
|
||||
KeGetCurrentIrql
|
||||
KeGetPreviousMode=KeGetPreviousMode@0
|
||||
KeInitializeDpc
|
||||
KeInitializeEvent
|
||||
KeInitializeSpinLock
|
||||
KeInsertQueueDpc
|
||||
KeLowerIrql
|
||||
KeStallExecutionProcessor
|
||||
KeSynchronizeExecution
|
||||
KeRaiseIrql
|
||||
KeWaitForSingleObject
|
||||
HalGetBusDataByOffset
|
||||
HalSetBusDataByOffset
|
||||
InitializeObjectAttributes
|
||||
IoAllocateController
|
||||
IoAttachDeviceToDeviceStack
|
||||
IoBuildSynchronousFsdRequest
|
||||
IoCallDriver
|
||||
IoCompleteRequest
|
||||
IoConnectInterrupt
|
||||
IoCreateController
|
||||
IoCreateDevice
|
||||
IoCreateStreamFileObject
|
||||
IoCreateSymbolicLink
|
||||
IoDeleteController
|
||||
IoDeleteDevice
|
||||
IoDisconnectInterrupt
|
||||
IoFreeController
|
||||
IoGetCurrentIrpStackLocation
|
||||
IoInitializeDpcRequest
|
||||
IoInitializeTimer
|
||||
IoMarkIrpPending
|
||||
IoRegisterFileSystem
|
||||
IoRequestDpc
|
||||
IoStartPacket
|
||||
IoStartNextPacket
|
||||
IoStartNextPacketByKey
|
||||
IoStartTimer
|
||||
IoStopTimer
|
||||
MmGetSystemAddressForMdl
|
||||
MmMapIoSpace
|
||||
NtAddAtom=NtAddAtom@8
|
||||
NtAdjustPrivilegesToken=NtAdjustPrivilegesToken@24
|
||||
NtAllocateLocallyUniqueId=NtAllocateLocallyUniqueId@4
|
||||
NtAllocateUuids=NtAllocateUuids@12
|
||||
NtAllocateVirtualMemory=NtAllocateVirtualMemory@24
|
||||
;NtBuildNumber <--- variable?
|
||||
NtClose=NtClose@4
|
||||
;NtConnectPort=;NtConnectPort@32
|
||||
NtConnectPort=NtConnectPort@8
|
||||
NtCreateEvent=NtCreateEvent@20
|
||||
NtCreateFile=NtCreateFile@44
|
||||
NtCreateSection=NtCreateSection@28
|
||||
NtDeleteAtom=NtDeleteAtom@4
|
||||
NtDeleteFile=NtDeleteFile@4
|
||||
NtDeviceIoControlFile=NtDeviceIoControlFile@40
|
||||
NtDuplicateObject=NtDuplicateObject@28
|
||||
NtDuplicateToken=NtDuplicateToken@24
|
||||
NtFindAtom=NtFindAtom@8
|
||||
NtFreeVirtualMemory=NtFreeVirtualMemory@16
|
||||
NtFsControlFile=NtFsControlFile@40
|
||||
;NtGlobalFlag <--- variable?
|
||||
NtLockFile=NtLockFile@40
|
||||
NtMapViewOfSection=NtMapViewOfSection@40
|
||||
NtNotifyChangeDirectoryFile=NtNotifyChangeDirectoryFile@36
|
||||
NtOpenFile=NtOpenFile@24
|
||||
NtOpenProcess=NtOpenProcess@16
|
||||
NtOpenProcessToken=NtOpenProcessToken@12
|
||||
NtQueryDirectoryFile=NtQueryDirectoryFile@44
|
||||
NtQueryEaFile=NtQueryEaFile@36
|
||||
;NtQueryInformationAtom <--- ?
|
||||
NtQueryInformationFile=NtQueryInformationFile@20
|
||||
NtQueryInformationProcess=NtQueryInformationProcess@20
|
||||
NtQueryInformationToken=NtQueryInformationToken@20
|
||||
;NtQueryOleDirectoryFile=;NtQueryOleDirectoryFile@ <--- ?
|
||||
NtQuerySecurityObject=NtQuerySecurityObject@20
|
||||
NtQueryVolumeInformationFile=NtQueryVolumeInformationFile@20
|
||||
NtReadFile=NtReadFile@36
|
||||
;NtRequestPort=;NtRequestPort@8
|
||||
NtRequestPort=NtRequestPort@20
|
||||
;NtRequestWaitReplyPort=;NtRequestWaitReplyPort@8
|
||||
NtRequestWaitReplyPort=NtRequestWaitReplyPort@0
|
||||
NtSetEvent=NtSetEvent@8
|
||||
NtSetInformationFile=NtSetInformationFile@20
|
||||
NtSetInformationProcess=NtSetInformationProcess@16
|
||||
NtSetInformationThread=NtSetInformationThread@16
|
||||
NtSetSecurityObject=NtSetSecurityObject@12
|
||||
NtUnlockFile=NtUnlockFile@20
|
||||
;NtVdmControl=;NtVdmControl@8 <--- ?
|
||||
NtWaitForSingleObject=NtWaitForSingleObject@12
|
||||
NtWriteFile=NtWriteFile@36
|
||||
RtlAnsiStringToUnicodeString
|
||||
RtlCompareMemory
|
||||
RtlConvertLongToLargeInteger
|
||||
RtlConvertUlongToLargeInteger
|
||||
RtlCopyMemory
|
||||
RtlEnlargedIntegerMultiply
|
||||
RtlExtendedIntegerMultiply
|
||||
RtlFreeUnicodeString
|
||||
RtlInitAnsiString
|
||||
RtlInitUnicodeString
|
||||
RtlLargeIntegerAdd
|
||||
RtlLargeIntegerGreaterThan
|
||||
RtlLargeIntegerShiftRight
|
||||
RtlMoveMemory
|
||||
RtlTimeFieldsToTime
|
||||
RtlTimeToTimeFields
|
||||
RtlZeroMemory
|
||||
ZwAccessCheckAndAuditAlarm=ZwAccessCheckAndAuditAlarm@44
|
||||
ZwAlertThread=ZwAlertThread@4
|
||||
ZwAllocateVirtualMemory=ZwAllocateVirtualMemory@24
|
||||
ZwClearEvent=ZwClearEvent@4
|
||||
ZwClose=ZwClose@4
|
||||
ZwCloseObjectAuditAlarm=ZwCloseObjectAuditAlarm@12
|
||||
ZwConnectPort=ZwConnectPort@32
|
||||
ZwCreateDirectoryObject=ZwCreateDirectoryObject@12
|
||||
ZwCreateEvent=ZwCreateEvent@20
|
||||
ZwCreateFile=ZwCreateFile@44
|
||||
ZwCreateKey=ZwCreateKey@28
|
||||
ZwCreateSection=ZwCreateSection@28
|
||||
ZwCreateSymbolicLinkObject=ZwCreateSymbolicLinkObject@16
|
||||
ZwDeleteFile=ZwDeleteFile@4
|
||||
ZwDeleteKey=ZwDeleteKey@4
|
||||
ZwDeleteValueKey=ZwDeleteValueKey@8
|
||||
ZwDeviceIoControlFile=ZwDeviceIoControlFile@40
|
||||
ZwDisplayString=ZwDisplayString@4
|
||||
ZwDuplicateObject=ZwDuplicateObject@28
|
||||
ZwDuplicateToken=ZwDuplicateToken@24
|
||||
ZwEnumerateKey=ZwEnumerateKey@24
|
||||
ZwEnumerateValueKey=ZwEnumerateValueKey@24
|
||||
ZwFlushInstructionCache=ZwFlushInstructionCache@12
|
||||
ZwFlushKey=ZwFlushKey@4
|
||||
ZwFreeVirtualMemory=ZwFreeVirtualMemory@16
|
||||
ZwFsControlFile=ZwFsControlFile@40
|
||||
ZwLoadDriver=ZwLoadDriver@4
|
||||
ZwLoadKey=ZwLoadKey@8
|
||||
ZwMakeTemporaryObject=ZwMakeTemporaryObject@4
|
||||
ZwMapViewOfSection=ZwMapViewOfSection@40
|
||||
ZwNotifyChangeKey=ZwNotifyChangeKey@40
|
||||
ZwOpenDirectoryObject=ZwOpenDirectoryObject@12
|
||||
ZwOpenEvent=ZwOpenEvent@12
|
||||
ZwOpenFile=ZwOpenFile@24
|
||||
ZwOpenKey=ZwOpenKey@12
|
||||
ZwOpenProcess=ZwOpenProcess@16
|
||||
ZwOpenProcessToken=ZwOpenProcessToken@12
|
||||
ZwOpenSection=ZwOpenSection@12
|
||||
ZwOpenSymbolicLinkObject=ZwOpenSymbolicLinkObject@12
|
||||
ZwOpenThread=ZwOpenThread@16
|
||||
ZwOpenThreadToken=ZwOpenThreadToken@16
|
||||
ZwPulseEvent=ZwPulseEvent@8
|
||||
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
|
||||
ZwQueryInformationFile=ZwQueryInformationFile@20
|
||||
ZwQueryInformationProcess=ZwQueryInformationProcess@20
|
||||
ZwQueryInformationToken=ZwQueryInformationToken@20
|
||||
ZwQueryKey=ZwQueryKey@20
|
||||
ZwQueryObject=ZwQueryObject@20
|
||||
ZwQuerySection=ZwQuerySection@20
|
||||
ZwQuerySecurityObject=ZwQuerySecurityObject@20
|
||||
ZwQuerySymbolicLinkObject=ZwQuerySymbolicLinkObject@12
|
||||
ZwQuerySystemInformation=ZwQuerySystemInformation@16
|
||||
ZwQueryValueKey=ZwQueryValueKey@24
|
||||
ZwQueryVolumeInformationFile=ZwQueryVolumeInformationFile@20
|
||||
ZwReadFile=ZwReadFile@36
|
||||
ZwReplaceKey=ZwReplaceKey@12
|
||||
ZwRequestWaitReplyPort=ZwRequestWaitReplyPort@12
|
||||
ZwResetEvent=ZwResetEvent@8
|
||||
ZwSaveKey=ZwSaveKey@8
|
||||
ZwSetDefaultLocale=ZwSetDefaultLocale@8
|
||||
ZwSetEvent=ZwSetEvent@8
|
||||
ZwSetInformationFile=ZwSetInformationFile@20
|
||||
ZwSetInformationObject=ZwSetInformationObject@16
|
||||
ZwSetInformationProcess=ZwSetInformationProcess@16
|
||||
ZwSetInformationThread=ZwSetInformationThread@16
|
||||
ZwSetSystemInformation=ZwSetSystemInformation@12
|
||||
ZwSetSystemTime=ZwSetSystemTime@8
|
||||
ZwSetValueKey=ZwSetValueKey@24
|
||||
ZwTerminateProcess=ZwTerminateProcess@8
|
||||
ZwUnloadDriver=ZwUnloadDriver@4
|
||||
ZwUnloadKey=ZwUnloadKey@4
|
||||
ZwUnmapViewOfSection=ZwUnmapViewOfSection@8
|
||||
ZwWaitForMultipleObjects=ZwWaitForMultipleObjects@20
|
||||
ZwWaitForSingleObject=ZwWaitForSingleObject@12
|
||||
ZwWriteFile=ZwWriteFile@36
|
||||
ZwYieldExecution=ZwYieldExecution@0
|
||||
isdigit
|
||||
islower
|
||||
isprint
|
||||
isspace
|
||||
isupper
|
||||
isxdigit
|
||||
memchr
|
||||
memcpy
|
||||
memmove
|
||||
memset
|
||||
strtok
|
||||
tolower
|
||||
toupper
|
||||
towlower
|
||||
towupper
|
||||
vsprintf
|
||||
wcschr
|
||||
wcscpy
|
||||
wcslen
|
||||
wcsncpy
|
||||
wcsncat
|
|
@ -61,10 +61,16 @@ endif
|
|||
|
||||
CC = $(PREFIX)gcc
|
||||
NATIVE_CC = gcc
|
||||
CFLAGS = -O2 -I../../../include -I../../include \
|
||||
-I../include -fno-builtin $(LEAN_AND_MEAN_DEFINE) \
|
||||
$(DEFINES) -Wall -Wstrict-prototypes $(DEBUGGING_CFLAGS) \
|
||||
$(EXTRA_CFLAGS)
|
||||
CFLAGS = \
|
||||
-pipe \
|
||||
-O2 \
|
||||
-I../../../include \
|
||||
-I../../include \
|
||||
-I../include \
|
||||
-fno-builtin $(LEAN_AND_MEAN_DEFINE) \
|
||||
$(DEFINES) -Wall \
|
||||
-Wstrict-prototypes $(DEBUGGING_CFLAGS) \
|
||||
$(EXTRA_CFLAGS)
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
NFLAGS = -i../../include/ -i../include/ -pinternal/asm.inc -f$(NASM_FORMAT) -d$(NASM_FORMAT)
|
||||
LD = $(PREFIX)ld
|
||||
|
|
43
reactos/services/lsass/init.c
Normal file
43
reactos/services/lsass/init.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* $Id: init.c,v 1.1 1999/07/17 23:10:29 ea Exp $
|
||||
*
|
||||
* init.c - Local Security Manager Initialization
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* This software is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING.LIB. If not, write
|
||||
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
|
||||
* MA 02139, USA.
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* 19990704 (Emanuele Aliberti)
|
||||
* Compiled successfully with egcs 1.1.2
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
BOOL
|
||||
InitLsa(
|
||||
HANDLE Children[]
|
||||
)
|
||||
{
|
||||
/* FIXME: create the \SeLsaCommandPort LPC port */
|
||||
/* FIXME: create the \LsaAuthenticationPort LPC port */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
68
reactos/services/lsass/lsasrv.def
Normal file
68
reactos/services/lsass/lsasrv.def
Normal file
|
@ -0,0 +1,68 @@
|
|||
; $Id: lsasrv.def,v 1.1 1999/07/17 23:10:29 ea Exp $
|
||||
LIBRARY lsasrv
|
||||
EXPORTS
|
||||
LsaIAuditNotifyPackageLoad
|
||||
LsaIAuditSamEvent
|
||||
LsaIEnumerateSecrets
|
||||
LsaIFree_LSAI_PRIVATE_DATA
|
||||
LsaIFree_LSAI_SECRET_ENUM_BUFFER
|
||||
LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER
|
||||
LsaIFree_LSAPR_CR_CIPHER_VALUE
|
||||
LsaIFree_LSAPR_POLICY_INFORMATION
|
||||
LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER
|
||||
LsaIFree_LSAPR_PRIVILEGE_SET
|
||||
LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST
|
||||
LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR
|
||||
LsaIFree_LSAPR_TRANSLATED_NAMES
|
||||
LsaIFree_LSAPR_TRANSLATED_SIDS
|
||||
LsaIFree_LSAPR_TRUSTED_DOMAIN_INFO
|
||||
LsaIFree_LSAPR_TRUSTED_ENUM_BUFFER
|
||||
LsaIFree_LSAPR_TRUST_INFORMATION
|
||||
LsaIFree_LSAPR_UNICODE_STRING
|
||||
LsaIGetPrivateData
|
||||
LsaIGetSerialNumberPolicy
|
||||
LsaIGetSerialNumberPolicy2
|
||||
LsaIHealthCheck
|
||||
LsaIInitializeWellKnownSids
|
||||
LsaIOpenPolicyTrusted
|
||||
LsaIQueryInformationPolicyTrusted
|
||||
LsaISetPrivateData
|
||||
LsaISetSerialNumberPolicy
|
||||
LsaISetTimesSecret
|
||||
LsaISetupWasRun
|
||||
LsapAuOpenSam
|
||||
LsapInitLsa
|
||||
LsarAddPrivilegesToAccount
|
||||
LsarClose
|
||||
LsarCreateAccount
|
||||
LsarCreateSecret
|
||||
LsarCreateTrustedDomain
|
||||
LsarDelete
|
||||
LsarEnumerateAccounts
|
||||
LsarEnumeratePrivileges
|
||||
LsarEnumeratePrivilegesAccount
|
||||
LsarEnumerateTrustedDomains
|
||||
LsarGetQuotasForAccount
|
||||
LsarGetSystemAccessAccount
|
||||
LsarLookupNames
|
||||
LsarLookupPrivilegeDisplayName
|
||||
LsarLookupPrivilegeName
|
||||
LsarLookupPrivilegeValue
|
||||
LsarLookupSids
|
||||
LsarOpenAccount
|
||||
LsarOpenPolicy
|
||||
LsarOpenSecret
|
||||
LsarOpenTrustedDomain
|
||||
LsarQueryInfoTrustedDomain
|
||||
LsarQueryInformationPolicy
|
||||
LsarQuerySecret
|
||||
LsarQuerySecurityObject
|
||||
LsarRemovePrivilegesFromAccount
|
||||
LsarSetInformationPolicy
|
||||
LsarSetInformationTrustedDomain
|
||||
LsarSetQuotasForAccount
|
||||
LsarSetSecret
|
||||
LsarSetSecurityObject
|
||||
LsarSetSystemAccessAccount
|
||||
ServiceInit
|
||||
|
72
reactos/services/lsass/lsass.c
Normal file
72
reactos/services/lsass/lsass.c
Normal file
|
@ -0,0 +1,72 @@
|
|||
/* $Id: lsass.c,v 1.1 1999/07/17 23:10:29 ea Exp $
|
||||
*
|
||||
* reactos/services/lsass/lsass.c
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* This software is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING.LIB. If not, write
|
||||
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
|
||||
* MA 02139, USA.
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* 19990704 (Emanuele Aliberti)
|
||||
* Compiled successfully with egcs 1.1.2
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
#include <wchar.h>
|
||||
|
||||
BOOL InitLsa(VOID); /* ./init.c */
|
||||
|
||||
|
||||
void
|
||||
DisplayString( LPCWSTR lpwString )
|
||||
{
|
||||
UNICODE_STRING us;
|
||||
|
||||
us.Buffer = (LPWSTR) lpwString;
|
||||
us.Length = wcslen(lpwString) * sizeof (WCHAR);
|
||||
us.MaximumLength = us.Length + sizeof (WCHAR);
|
||||
NtDisplayString( & us );
|
||||
}
|
||||
|
||||
|
||||
/* Native image's entry point */
|
||||
|
||||
void
|
||||
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
|
||||
{
|
||||
DisplayString( L"Local Security Authority Subsystem:\n" );
|
||||
DisplayString( L"\tInitializing...\n" );
|
||||
|
||||
if (TRUE == InitLsa())
|
||||
{
|
||||
DisplayString( L"\tInitialization OK\n" );
|
||||
/* FIXME: do nothing loop */
|
||||
while (TRUE)
|
||||
{
|
||||
NtYieldExecution();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayString( L"\tInitialization failed!\n" );
|
||||
}
|
||||
NtTerminateProcess( NtCurrentProcess(), 0 );
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
38
reactos/services/lsass/lsass.rc
Normal file
38
reactos/services/lsass/lsass.rc
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include "../../include/defines.h"
|
||||
#include "../../include/reactos/resource.h"
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
|
||||
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||
VALUE "FileDescription", "Local Security Authority\0"
|
||||
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||
VALUE "InternalName", "lsass\0"
|
||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||
VALUE "OriginalFilename", "lsass.exe\0"
|
||||
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
36
reactos/services/lsass/makefile
Normal file
36
reactos/services/lsass/makefile
Normal file
|
@ -0,0 +1,36 @@
|
|||
# $Id: makefile,v 1.1 1999/07/17 23:10:29 ea Exp $
|
||||
#
|
||||
# Local Security Authority Subsystem
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
TARGET=lsass
|
||||
|
||||
OBJECTS = $(TARGET).o init.o $(TARGET).coff
|
||||
|
||||
LIBS = ../../lib/ntdll/ntdll.a
|
||||
|
||||
all: $(TARGET).exe
|
||||
|
||||
.phony: all
|
||||
|
||||
clean:
|
||||
- $(RM) $(TARGET).o
|
||||
- $(RM) $(TARGET).exe
|
||||
- $(RM) $(TARGET).sym
|
||||
- $(RM) $(TARGET).coff
|
||||
|
||||
.phony: clean
|
||||
|
||||
$(TARGET).coff: $(TARGET).rc
|
||||
$(RC) $(TARGET).rc $(TARGET).coff
|
||||
|
||||
$(TARGET).exe: $(OBJECTS) $(LIBS)
|
||||
$(LD) \
|
||||
$(OBJECTS) \
|
||||
$(LIBS) \
|
||||
-o $(TARGET).exe \
|
||||
--subsystem native
|
||||
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
||||
|
||||
include ../../rules.mak
|
|
@ -1,6 +1,6 @@
|
|||
/* $Id: init.c,v 1.1 1999/06/18 22:40:47 ea Exp $
|
||||
/* $Id: init.c,v 1.2 1999/07/17 23:10:29 ea Exp $
|
||||
*
|
||||
* resctos/services/winlogon/init.c
|
||||
* reactos/services/winlogon/init.c
|
||||
*
|
||||
*/
|
||||
#include <windows.h>
|
||||
|
@ -10,11 +10,11 @@ Initialize(VOID)
|
|||
{
|
||||
/* SERVICES CONTROLLER */
|
||||
NtCreateProcess(
|
||||
L"\\\\??\\C:\reactos\system\services.exe"
|
||||
L"\\\\??\\C:\\reactos\\system\\services.exe"
|
||||
);
|
||||
/* LOCAL SECURITY AUTORITY SUBSYSTEM */
|
||||
NtCreateProcess(
|
||||
L"\\\\??\\C:\reactos\system\lsass.exe"
|
||||
L"\\\\??\\C:\\reactos\\system\\lsass.exe"
|
||||
);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/*
|
||||
/* $Id: winlogon.c,v 1.4 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: services/winlogon/winlogon.c
|
||||
|
@ -86,6 +87,13 @@ HasSystemActiveSession (VOID)
|
|||
*
|
||||
* DESCRIPTION
|
||||
* Graphical login procedure
|
||||
*
|
||||
* NOTE
|
||||
* Read values from
|
||||
*
|
||||
* HKEY_LOCAL-MACHINE
|
||||
* SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon
|
||||
*
|
||||
*/
|
||||
VOID
|
||||
GuiLogin (VOID)
|
||||
|
@ -112,6 +120,13 @@ GuiMonitor (VOID)
|
|||
*
|
||||
* DESCRIPTION
|
||||
* Text mode (console) login procedure
|
||||
*
|
||||
* NOTE
|
||||
* Read values from
|
||||
*
|
||||
* HKEY_LOCAL-MACHINE
|
||||
* SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon
|
||||
*
|
||||
*/
|
||||
VOID
|
||||
CuiLogin (VOID)
|
||||
|
@ -211,20 +226,45 @@ Use the Task Manager to close an application that is not responding.\n\n\
|
|||
}
|
||||
|
||||
|
||||
HANDLE
|
||||
ConnectToSmApiPort(VOID)
|
||||
{
|
||||
HANDLE PortHandle;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
UNICODE_STRING SmApiPort;
|
||||
LPWSTR PortName = L"\\SmApiPort";
|
||||
OBJECT_ATTRIBUTES PortAttributes = {0};
|
||||
|
||||
SmApiPort.Length = wcslen(PortName) * sizeof (WCHAR);
|
||||
SmApiPort.MaxLength = SmApiPort.Length + sizeof (WCHAR);
|
||||
SmApiPort.Buffer = PortName;
|
||||
Status = NtConnectPort(
|
||||
& PortHandle,
|
||||
& SmApiPort,
|
||||
& PortAttributes, /* FIXME: ? */
|
||||
0, /* FIXME: ? */
|
||||
0, /* FIXME: ? */
|
||||
0, /* FIXME: ? */
|
||||
0, /* FIXME: ? */
|
||||
0x00010000 /* FIXME: ? */
|
||||
);
|
||||
return (NT_SUCCESS(Status))
|
||||
? PortHandle
|
||||
: INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
|
||||
/* Native process entry point */
|
||||
void
|
||||
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
|
||||
/* FIXME: connnect to the Session Manager
|
||||
* for LPC calls
|
||||
*/
|
||||
Status = NtConnectPort(
|
||||
"\\SmApiPort",
|
||||
& SM
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
SM = ConnectToSmApiPort();
|
||||
if (INVALID_HANDLE_VALUE == SM)
|
||||
{
|
||||
NtTerminateProcess(
|
||||
NtCurrentProcess(),
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#include <internal/lpc.h>
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
LPC_RETURN_CODE
|
||||
DWORD
|
||||
CSR_CreateProcess (
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
PLPC_MESSAGE pLpcMessage
|
||||
);
|
||||
|
||||
LPC_RETURN_CODE
|
||||
DWORD
|
||||
CSR_TerminateProcess(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
PLPC_MESSAGE pLpcMessage
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: process.c,v 1.1 1999/06/08 22:50:59 ea Exp $
|
||||
/* $Id: process.c,v 1.2 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/api/process.c
|
||||
*
|
||||
|
@ -6,20 +6,22 @@
|
|||
*
|
||||
* ReactOS Operating System
|
||||
*/
|
||||
#include <internal/lpc.h>
|
||||
#define PROTO_LPC
|
||||
#include <ddk/ntddk.h>
|
||||
|
||||
LPC_RETURN_CODE
|
||||
|
||||
DWORD
|
||||
CSR_CreateProcess (
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
PLPC_MESSAGE pLpcMessage
|
||||
)
|
||||
{
|
||||
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
LPC_RETURN_CODE
|
||||
DWORD
|
||||
CSR_TerminateProcess(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
PLPC_MESSAGE pLpcMessage
|
||||
)
|
||||
{
|
||||
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: csrss.c,v 1.1 1999/06/08 22:50:59 ea Exp $
|
||||
/* $Id: csrss.c,v 1.2 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* csrss.c - Client/Server Runtime subsystem
|
||||
*
|
||||
|
@ -32,7 +32,6 @@
|
|||
* actually does nothing but running).
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
//#include <internal/lpc.h>
|
||||
|
||||
BOOL TerminationRequestPending = FALSE;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: init.c,v 1.1 1999/06/08 22:50:59 ea Exp $
|
||||
/* $Id: init.c,v 1.2 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* reactos/subsys/csrss/init.c
|
||||
*
|
||||
|
@ -7,115 +7,200 @@
|
|||
* ReactOS Operating System
|
||||
*
|
||||
*/
|
||||
#define PROTO_LPC
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/lpc.h>
|
||||
#include "csrss.h"
|
||||
|
||||
#if 0
|
||||
struct _SERVER_PORT
|
||||
{
|
||||
HANDLE Port;
|
||||
THREAD Thread;
|
||||
};
|
||||
|
||||
struct _SERVER_PORTS
|
||||
{
|
||||
struct _SERVER_PORT Api;
|
||||
struct _SERVER_PORT SbApi;
|
||||
|
||||
}
|
||||
|
||||
void Thread_Api(void*);
|
||||
void Thread_SbApi(void*);
|
||||
|
||||
/*
|
||||
* Server's named ports.
|
||||
*/
|
||||
struct _SERVER_PORTS
|
||||
Server =
|
||||
{
|
||||
{INVALID_HANDLE_VALUE,Thread_Api},
|
||||
{INVALID_HANDLE_VALUE,Thread_SbApi}
|
||||
};
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME
|
||||
* Thread_Api
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Handle connection requests from clients to the port
|
||||
* "\Windows\ApiPort".
|
||||
*/
|
||||
static
|
||||
void
|
||||
Thread_Api(void * pPort)
|
||||
{
|
||||
HANDLE port;
|
||||
NTSTATUS Status;
|
||||
HANDLE Port;
|
||||
HANDLE ConnectedPort;
|
||||
|
||||
port = * (HANDLE*) pPort;
|
||||
Port = * (HANDLE*) pPort;
|
||||
|
||||
NtListenPort(port);
|
||||
/*
|
||||
* Make the CSR API port listen.
|
||||
*/
|
||||
Status = NtListenPort(
|
||||
Port,
|
||||
CSRSS_API_PORT_QUEUE_SIZE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
/*
|
||||
* FIXME: notify SM we could not
|
||||
* make the port listen.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
/*
|
||||
* Wait for a client to connect
|
||||
*/
|
||||
while (TRUE)
|
||||
{
|
||||
NtAcceptConnectPort(
|
||||
port
|
||||
);
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(port)))
|
||||
/*
|
||||
* Wait for a connection request;
|
||||
* the new connected port's handle
|
||||
* is stored in ConnectedPort.
|
||||
*/
|
||||
Status = NtAcceptConnectPort(
|
||||
Port,
|
||||
& ConnectedPort
|
||||
);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
/* dispatch call */
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(ConnectedPort)))
|
||||
{
|
||||
/* dispatch call */
|
||||
continue;
|
||||
}
|
||||
/* error */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME
|
||||
* Thread_SbApi
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Handle connection requests from clients to the port
|
||||
* "\Windows\SbApiPort".
|
||||
*/
|
||||
static
|
||||
void
|
||||
Thread_SbApi(void * pPort)
|
||||
{
|
||||
HANDLE port;
|
||||
NTSTATUS Status;
|
||||
HANDLE Port;
|
||||
HANDLE ConnectedPort;
|
||||
|
||||
port = * (HANDLE*) pPort;
|
||||
Port = * (HANDLE*) pPort;
|
||||
|
||||
NtListenPort(port);
|
||||
Status = NtListenPort(
|
||||
Port,
|
||||
CSRSS_SBAPI_PORT_QUEUE_SIZE
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
/*
|
||||
* Wait for a client to connect
|
||||
*/
|
||||
while (TRUE)
|
||||
{
|
||||
NtAcceptConnectPort(
|
||||
port
|
||||
);
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(port)))
|
||||
Status = NtAcceptConnectPort(
|
||||
Port,
|
||||
& ConnectedPort
|
||||
);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
/* dispatch call */
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(ConnectedPort)))
|
||||
{
|
||||
/* dispatch call */
|
||||
continue;
|
||||
}
|
||||
/* error: Port.CompleteConnect failed */
|
||||
continue;
|
||||
}
|
||||
/* error */
|
||||
/* error: Port.AcceptConnect failed */
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* NAME
|
||||
* InitializeServer
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Create a directory object (\windows) and two named LPC ports:
|
||||
*
|
||||
* 1. \windows\ApiPort
|
||||
* 2. \windows\SbApiPort
|
||||
*
|
||||
* RETURN VALUE
|
||||
* TRUE: Initialization OK; otherwise FALSE.
|
||||
*/
|
||||
BOOL
|
||||
InitializeServer(void)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES ObAttributes;
|
||||
HANDLE MySelf;
|
||||
#if 0
|
||||
MySelf = NtCurrentProcess();
|
||||
/* \ApiPort */
|
||||
Server.Api.Port =
|
||||
NtCreatePort(
|
||||
LPC_CSR_PORT_NAME_APIPORT,
|
||||
|
||||
|
||||
/* NEW NAMED PORT: \ApiPort */
|
||||
Status = NtCreatePort(
|
||||
& Server.Api.Port, /* New port's handle */
|
||||
& ObAttributes, /* Port object's attributes */
|
||||
...
|
||||
);
|
||||
NtCreateThread(
|
||||
& Server.Api.Thread,
|
||||
0, /* desired access */
|
||||
& ObAttributes, /* object attributes */
|
||||
MySelf, /* process' handle */
|
||||
0, /* client id */
|
||||
Thread_ApiPort,
|
||||
(void*) & Server.Api.Port
|
||||
);
|
||||
/* \SbApiPort */
|
||||
Server.SbApi.Port =
|
||||
NtCreatePort(
|
||||
LPC_CSR_PORT_NAME_SBAPIPORT,
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
Status = NtCreateThread(
|
||||
& Server.Api.Thread,
|
||||
0, /* desired access */
|
||||
& ObAttributes, /* object attributes */
|
||||
NtCurrentProcess(), /* process' handle */
|
||||
0, /* client id */
|
||||
Thread_ApiPort,
|
||||
(void*) & Server.Api.Port
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
NtClose(Server.Api.Port);
|
||||
return FALSE;
|
||||
}
|
||||
/* NEW NAMED PORT: \SbApiPort */
|
||||
Status = NtCreatePort(
|
||||
& Server.SbApi.Port,
|
||||
& ObAttributes,
|
||||
...
|
||||
);
|
||||
NtCreateThread(
|
||||
& Server.SbApi.Thread,
|
||||
Thread_SbApi,
|
||||
(void*) & Server.SbApi.Port
|
||||
);
|
||||
#endif
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
NtClose(Server.Api.Port);
|
||||
return FALSE;
|
||||
}
|
||||
Status = NtCreateThread(
|
||||
& Server.SbApi.Thread,
|
||||
Thread_SbApi,
|
||||
(void*) & Server.SbApi.Port
|
||||
);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
NtClose(Server.Api.Port);
|
||||
NtClose(Server.SbApi.Port);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: lpcstub.c,v 1.1 1999/06/08 22:50:59 ea Exp $
|
||||
/* $Id: lpcstub.c,v 1.2 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* lpcstub.c
|
||||
*
|
||||
|
@ -7,7 +7,6 @@
|
|||
*
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/lpc.h>
|
||||
#include "api.h"
|
||||
|
||||
|
||||
|
|
30
reactos/subsys/psxss/api.c
Normal file
30
reactos/subsys/psxss/api.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* $Id: api.c,v 1.1 1999/07/17 23:10:30 ea Exp $
|
||||
*
|
||||
* reactos/subsys/psxss/api.c
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
*
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/lpc.h>
|
||||
#include "api.h"
|
||||
|
||||
BOOL TerminationRequestPending = FALSE;
|
||||
|
||||
long
|
||||
port_dispatcher_api(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
)
|
||||
{
|
||||
switch (pLpcRequestReply->Function)
|
||||
{
|
||||
case LPC_PSX_API_PROCESS_CREATE:
|
||||
return POSIX_PROCESS_Create(pLpcRequestReply);
|
||||
case LPC_PSX_API_PROCESS_TERMINATE:
|
||||
return POSIX_PROCESS_Terminate(pLpcRequestReply);
|
||||
}
|
||||
return LPC_ERROR_INVALID_FUNCTION;
|
||||
}
|
||||
|
||||
/* EOF */
|
27
reactos/subsys/psxss/api/process.c
Normal file
27
reactos/subsys/psxss/api/process.c
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* $Id: process.c,v 1.1 1999/07/17 23:10:31 ea Exp $
|
||||
*
|
||||
* reactos/subsys/psxss/api/process.c
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
*/
|
||||
static
|
||||
LPC_RETURN_CODE
|
||||
PSXSS_creat(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
)
|
||||
{
|
||||
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
static
|
||||
LPC_RETURN_CODE
|
||||
PSXSS_terminate(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
)
|
||||
{
|
||||
return LPC_ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
186
reactos/subsys/psxss/init.c
Normal file
186
reactos/subsys/psxss/init.c
Normal file
|
@ -0,0 +1,186 @@
|
|||
/* $Id: init.c,v 1.1 1999/07/17 23:10:31 ea Exp $
|
||||
*
|
||||
* init.c
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/lpc.h>
|
||||
|
||||
struct _SERVER_DIRECTORIES
|
||||
{
|
||||
HANDLE Root; /* MS & Interix(tm): \PSXSS\ */
|
||||
HANDLE Session; /* MS & Interix(tm): \PSXSS\PSXSES\ */
|
||||
HANDLE System; /* Interix(tm) only: \PSXSS\SYSTEM\ */
|
||||
};
|
||||
|
||||
struct _SERVER_PORT
|
||||
{
|
||||
HANDLE Port;
|
||||
THREAD Thread;
|
||||
};
|
||||
|
||||
struct _SERVER
|
||||
{
|
||||
struct _SERVER_DIRECTORIES Directory;
|
||||
struct _SERVER_PORT Api;
|
||||
struct _SERVER_PORT SbApi;
|
||||
|
||||
};
|
||||
|
||||
void Thread_Api(void*);
|
||||
void Thread_SbApi(void*);
|
||||
|
||||
struct _SERVER
|
||||
Server =
|
||||
{
|
||||
{INVALID_HANDLE_VALUE,INVALID_HANDLE_VALUE},
|
||||
{INVALID_HANDLE_VALUE,Thread_Api},
|
||||
{INVALID_HANDLE_VALUE,Thread_SbApi}
|
||||
};
|
||||
|
||||
|
||||
static
|
||||
void
|
||||
Thread_Api(void * pPort)
|
||||
{
|
||||
HANDLE port;
|
||||
|
||||
port = * (HANDLE*) pPort;
|
||||
|
||||
NtListenPort(port);
|
||||
while (TRUE)
|
||||
{
|
||||
NtAcceptConnectPort(
|
||||
port
|
||||
);
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(port)))
|
||||
{
|
||||
/* dispatch call */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
void
|
||||
Thread_SbApi(void * pPort)
|
||||
{
|
||||
HANDLE port;
|
||||
|
||||
port = * (HANDLE*) pPort;
|
||||
|
||||
NtListenPort(port);
|
||||
while (TRUE)
|
||||
{
|
||||
NtAcceptConnectPort(
|
||||
port
|
||||
);
|
||||
if (NT_SUCCESS(NtCompleteConnectPort(port)))
|
||||
{
|
||||
/* dispatch call */
|
||||
continue;
|
||||
}
|
||||
/* error */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* InitializeServer
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Initialize the POSIX+ subsystem server process. That is:
|
||||
*
|
||||
* 1. create the directory object "\PSXSS\";
|
||||
* 2. create the API port "\PSXSS\ApiPort";
|
||||
* 3. create the debug port "\PSXSS\SbApiPort";
|
||||
* 4. create the sessions directory object "\PSXSS\PSXSES\";
|
||||
* 5. create the system directory object "\PSXSS\SYSTEM\";
|
||||
* 6. initialize port threads
|
||||
*
|
||||
* RETURN VALUE
|
||||
* TRUE Initialization succeeded:
|
||||
* FALSE Initialization failed.
|
||||
*
|
||||
* NOTE
|
||||
* The "\PSXSS\SYSTEM\" directory object does not exist
|
||||
* in the MS implementation, but appears in WNT's namespace
|
||||
* when the Interix(tm) subsystem is installed.
|
||||
*/
|
||||
BOOL
|
||||
InitializeServer(void)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES ObAttributes;
|
||||
|
||||
|
||||
/*
|
||||
* STEP 1
|
||||
* Create the directory object "\PSXSS\"
|
||||
*
|
||||
*/
|
||||
Status = NtCreateDirectoryObject(
|
||||
PSXSS_DIRECTORY_NAME_ROOT
|
||||
& Server.Directory.Root
|
||||
);
|
||||
/*
|
||||
* STEP 2
|
||||
* Create the LPC port "\PSXSS\ApiPort"
|
||||
*
|
||||
*/
|
||||
Server.Api.Port =
|
||||
NtCreatePort(
|
||||
PSXSS_PORT_NAME_APIPORT,
|
||||
...
|
||||
);
|
||||
NtCreateThread(
|
||||
& Server.Api.Thread,
|
||||
0, /* desired access */
|
||||
& ObAttributes, /* object attributes */
|
||||
NtCurrentProcess(), /* process' handle */
|
||||
0, /* client id */
|
||||
Thread_ApiPort,
|
||||
(void*) & Server.Api.Port
|
||||
);
|
||||
/*
|
||||
* STEP 3
|
||||
* Create the LPC port "\PSXSS\SbApiPort"
|
||||
*
|
||||
*/
|
||||
Server.SbApi.Port =
|
||||
NtCreatePort(
|
||||
PSXSS_PORT_NAME_SBAPIPORT,
|
||||
...
|
||||
);
|
||||
Status = NtCreateThread(
|
||||
& Server.SbApi.Thread,
|
||||
Thread_SbApi,
|
||||
(void*) & Server.SbApi.Port
|
||||
);
|
||||
/*
|
||||
* STEP 4
|
||||
* Create the POSIX+ session directory object
|
||||
* "\PSXSS\PSXSES\"
|
||||
*
|
||||
*/
|
||||
Status = NtCreateDirectoryObject(
|
||||
PSXSS_DIRECTORY_NAME_SESSIONS
|
||||
& Server.Directory.Sessions
|
||||
);
|
||||
/*
|
||||
* STEP 5
|
||||
* Create the POSIX+ system directory object
|
||||
* "\PSXSS\SYSTEM\"
|
||||
*
|
||||
*/
|
||||
Status = NtCreateDirectoryObject(
|
||||
PSXSS_DIRECTORY_NAME_SYSTEM
|
||||
& Server.Directory.System
|
||||
);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
36
reactos/subsys/psxss/makefile
Normal file
36
reactos/subsys/psxss/makefile
Normal file
|
@ -0,0 +1,36 @@
|
|||
# $Id: makefile,v 1.1 1999/07/17 23:10:31 ea Exp $
|
||||
#
|
||||
# CSRSS: Client/server run-time subsystem
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
TARGET=csrss
|
||||
|
||||
OBJECTS = $(TARGET).o init.o $(TARGET).coff
|
||||
|
||||
LIBS = ../../lib/ntdll/ntdll.a
|
||||
|
||||
all: $(TARGET).exe
|
||||
|
||||
.phony: all
|
||||
|
||||
clean:
|
||||
- $(RM) $(TARGET).o
|
||||
- $(RM) $(TARGET).exe
|
||||
- $(RM) $(TARGET).sym
|
||||
- $(RM) $(TARGET).coff
|
||||
|
||||
.phony: clean
|
||||
|
||||
$(TARGET).coff: $(TARGET).rc
|
||||
$(RC) $(TARGET).rc $(TARGET).coff
|
||||
|
||||
$(TARGET).exe: $(OBJECTS) $(LIBS)
|
||||
$(LD) \
|
||||
$(OBJECTS) \
|
||||
$(LIBS) \
|
||||
-o $(TARGET).exe \
|
||||
--subsystem native
|
||||
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
|
||||
|
||||
include ../../rules.mak
|
81
reactos/subsys/psxss/psxss.c
Normal file
81
reactos/subsys/psxss/psxss.c
Normal file
|
@ -0,0 +1,81 @@
|
|||
/* $Id: psxss.c,v 1.1 1999/07/17 23:10:31 ea Exp $
|
||||
*
|
||||
* reactos/subsys/psxss/psxss.c
|
||||
*
|
||||
* POSIX+ subsystem server process
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* This software is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING.LIB. If not, write
|
||||
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
|
||||
* MA 02139, USA.
|
||||
*
|
||||
* --------------------------------------------------------------------
|
||||
*
|
||||
* 19990605 (Emanuele Aliberti)
|
||||
* Compiled successfully with egcs 1.1.2
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
//#include <internal/lpc.h>
|
||||
|
||||
BOOL TerminationRequestPending = FALSE;
|
||||
|
||||
BOOL InitializeServer(void);
|
||||
|
||||
|
||||
void
|
||||
DisplayString(
|
||||
LPCWSTR Message
|
||||
)
|
||||
{
|
||||
UNICODE_STRING title;
|
||||
|
||||
title.Buffer = (LPWSTR) Message;
|
||||
title.Length = wcslen(title.Buffer) * sizeof (WCHAR);
|
||||
title.MaximumLength = title.Length + sizeof (WCHAR);
|
||||
NtDisplayString( & title );
|
||||
}
|
||||
|
||||
|
||||
/* Native process' entry point */
|
||||
|
||||
void
|
||||
NtProcessStartup( PSTARTUP_ARGUMENT StartupArgument )
|
||||
{
|
||||
DisplayString( L"POSIX+ Subsystem\n" );
|
||||
|
||||
if (TRUE == InitializeServer())
|
||||
{
|
||||
while (FALSE == TerminationRequestPending)
|
||||
{
|
||||
/* Do nothing! Should it
|
||||
* be the SbApi port's
|
||||
* thread instead?
|
||||
*/
|
||||
NtYieldExecution();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayString( L"PSX: Subsystem initialization failed.\n" );
|
||||
/*
|
||||
* Tell SM we failed.
|
||||
*/
|
||||
}
|
||||
NtTerminateProcess( NtCurrentProcess(), 0 );
|
||||
}
|
||||
|
||||
/* EOF */
|
38
reactos/subsys/psxss/psxss.rc
Normal file
38
reactos/subsys/psxss/psxss.rc
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include "../../include/defines.h"
|
||||
#include "../../include/reactos/resource.h"
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
|
||||
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||
VALUE "FileDescription", "POSIX+ Subsystem Process\0"
|
||||
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||
VALUE "InternalName", "psxss\0"
|
||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||
VALUE "OriginalFilename", "psxss.exe\0"
|
||||
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
23
reactos/subsys/psxss/sbapi.c
Normal file
23
reactos/subsys/psxss/sbapi.c
Normal file
|
@ -0,0 +1,23 @@
|
|||
/* $Id: sbapi.c,v 1.1 1999/07/17 23:10:31 ea Exp $
|
||||
*
|
||||
* sbapi.c - Displatcher for the \SbApiPort
|
||||
*
|
||||
* ReactOS Operating System
|
||||
*
|
||||
*
|
||||
*/
|
||||
#include <ddk/ntddk.h>
|
||||
#include <internal/lpc.h>
|
||||
|
||||
/* The \SbApi dispatcher: what is this port for? */
|
||||
|
||||
LPC_RETURN_CODE
|
||||
port_dispatcher_sbapi(
|
||||
PLPC_REQUEST_REPLY pLpcRequestReply
|
||||
)
|
||||
{
|
||||
return LPC_ERROR_INVALID_FUNCTION;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
|
@ -1,3 +1,5 @@
|
|||
/* $Id: brush.c,v 1.3 1999/07/17 23:10:31 ea Exp $
|
||||
*/
|
||||
|
||||
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: win32k.def,v 1.3 1999/05/27 23:08:13 rex Exp $
|
||||
; $Id: win32k.def,v 1.4 1999/07/17 23:10:31 ea Exp $
|
||||
;
|
||||
; win32k.def
|
||||
;
|
||||
|
@ -6,7 +6,7 @@
|
|||
;
|
||||
LIBRARY win32k
|
||||
EXPORTS
|
||||
W32kGetVectors
|
||||
;W32kGetVectors
|
||||
BRUSHOBJ_pvAllocRbrush
|
||||
BRUSHOBJ_pvGetRbrush
|
||||
BRUSHOBJ_ulGetBrushColor
|
||||
|
|
Loading…
Reference in a new issue