IoFreeIrp stub

This commit is contained in:
x1nixmzeng 2017-01-07 00:56:24 +00:00
parent d79ff8e7cb
commit 50c945ed3b
4 changed files with 51 additions and 22 deletions

View File

@ -145,7 +145,14 @@ XBSYSAPI EXPORTNUM(70) OBJECT_TYPE IoDeviceObjectType;
// ******************************************************************
XBSYSAPI EXPORTNUM(71) OBJECT_TYPE IoFileObjectType;
XBSYSAPI VOID *IoFreeIrp;
// ******************************************************************
// * 0x0048 - IoFreeIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(72) VOID NTAPI IoFreeIrp
(
IN PIRP Irp
);
XBSYSAPI VOID *IoInitializeIrp;
XBSYSAPI VOID *IoInvalidDeviceRequest;
XBSYSAPI VOID *IoQueryFileInformation;

View File

@ -1239,6 +1239,29 @@ typedef struct _KDEVICE_QUEUE
}
KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;
typedef PVOID PFILE_SEGMENT_ELEMENT;
typedef struct _IRP
{
CSHORT Type; // 0x00
WORD Size; // 0x02
ULONG Flags; // 0x04
LIST_ENTRY ThreadListEntry; // 0x08
IO_STATUS_BLOCK IoStatus; // 0x10
CHAR StackCount; // 0x18
CHAR CurrentLocation; // 0x19
UCHAR PendingReturned; // 0x1A
UCHAR Cancel; // 0x1B
PIO_STATUS_BLOCK UserIosb; // 0x1C
PKEVENT UserEvent; // 0x20
ULONGLONG Overlay; // 0x28
PVOID UserBuffer; // 0x30
PFILE_SEGMENT_ELEMENT SegmentArray; // 0x34
ULONG LockedBufferLength; // 0x38
ULONGLONG Tail; // 0x3C
}
IRP, *PIRP;
typedef struct _DEVICE_OBJECT
{
CSHORT Type;
@ -1246,7 +1269,7 @@ typedef struct _DEVICE_OBJECT
LONG ReferenceCount;
struct _DRIVER_OBJECT *DriverObject;
struct _DEVICE_OBJECT *MountedOrSelfDevice;
struct _IRP *CurrentIrp;
PIRP CurrentIrp;
ULONG Flags;
PVOID DeviceExtension;
UCHAR DeviceType;
@ -1279,25 +1302,25 @@ typedef struct _FILE_OBJECT {
CSHORT Type; // 0x00
BYTE DeletePending : 1; // 0x02
BYTE ReadAccess : 1; // 0x02
BYTE WriteAccess : 1; // 0x02
BYTE DeleteAccess : 1; // 0x02
BYTE SharedRead : 1; // 0x02
BYTE SharedWrite : 1; // 0x02
BYTE SharedDelete : 1; // 0x02
BYTE Reserved : 1; // 0x02
BYTE ReadAccess : 1; // 0x02
BYTE WriteAccess : 1; // 0x02
BYTE DeleteAccess : 1; // 0x02
BYTE SharedRead : 1; // 0x02
BYTE SharedWrite : 1; // 0x02
BYTE SharedDelete : 1; // 0x02
BYTE Reserved : 1; // 0x02
BYTE Flags; // 0x03
PDEVICE_OBJECT DeviceObject; // 0x04
PVOID FsContext; // 0x08
PVOID FsContext2; // 0x0C
NTSTATUS FinalStatus; // 0x10
BYTE Flags; // 0x03
PDEVICE_OBJECT DeviceObject; // 0x04
PVOID FsContext; // 0x08
PVOID FsContext2; // 0x0C
NTSTATUS FinalStatus; // 0x10
LARGE_INTEGER CurrentByteOffset; // 0x14
struct _FILE_OBJECT * RelatedFileObject; // 0x1C
PIO_COMPLETION_CONTEXT CompletionContext; // 0x20
LONG LockCount; // 0x24
KEVENT Lock; // 0x28
KEVENT Event; // 0x38
KEVENT Lock; // 0x28
KEVENT Event; // 0x38
} FILE_OBJECT, *PFILE_OBJECT;
// ******************************************************************

View File

@ -376,21 +376,20 @@ XBSYSAPI EXPORTNUM(71) xboxkrnl::OBJECT_TYPE xboxkrnl::IoFileObjectType =
'eliF' // = "File" in reverse
};
/* TODO : Finish of these Dxbx ported signatures :
// ******************************************************************
// * 0x0048 - IoFreeIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(72) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoFreeIrp
XBSYSAPI EXPORTNUM(72) void NTAPI xboxkrnl::IoFreeIrp
(
IN PIRP Irp
)
{
LOG_FUNC();
LOG_FUNC_ONE_ARG(Irp);
LOG_UNIMPLEMENTED();
RETURN(S_OK);
}
/* TODO : Finish of these Dxbx ported signatures :
// ******************************************************************
// * 0x0049 - IoInitializeIrp()
// ******************************************************************

View File

@ -139,7 +139,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
(uint32)FUNC(&xboxkrnl::IoDeleteSymbolicLink), // 0x0045 (69)
(uint32)VARIABLE(&xboxkrnl::IoDeviceObjectType), // 0x0046 (70)
(uint32)VARIABLE(&xboxkrnl::IoFileObjectType), // 0x0047 (71)
(uint32)PANIC(0x0048), // 0x0048 (72) IoFreeIrp
(uint32)FUNC(&xboxkrnl::IoFreeIrp), // 0x0048 (72)
(uint32)PANIC(0x0049), // 0x0049 (73) IoInitializeIrp
(uint32)PANIC(0x004A), // 0x004A (74) IoInvalidDeviceRequest
(uint32)PANIC(0x004B), // 0x004B (75) IoQueryFileInformation