mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 23:46:50 +00:00
[NTOSKRNL_VISTA][XDK] Implement IoSetMasterIrpStatus
This commit is contained in:
parent
f0ffda34da
commit
d9864ca6c5
|
@ -2332,19 +2332,16 @@ IoSetShareAccessEx(
|
||||||
_Out_ PSHARE_ACCESS ShareAccess,
|
_Out_ PSHARE_ACCESS ShareAccess,
|
||||||
_In_ PBOOLEAN WritePermission);
|
_In_ PBOOLEAN WritePermission);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
IoSizeofWorkItem(VOID);
|
IoSizeofWorkItem(VOID);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoInitializeWorkItem(
|
IoInitializeWorkItem(
|
||||||
_In_ PVOID IoObject,
|
_In_ PVOID IoObject,
|
||||||
_Out_ PIO_WORKITEM IoWorkItem);
|
_Out_ PIO_WORKITEM IoWorkItem);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoUninitializeWorkItem(
|
IoUninitializeWorkItem(
|
||||||
|
@ -2360,20 +2357,18 @@ IoQueueWorkItemEx(
|
||||||
_In_ WORK_QUEUE_TYPE QueueType,
|
_In_ WORK_QUEUE_TYPE QueueType,
|
||||||
_In_opt_ __drv_aliasesMem PVOID Context);
|
_In_opt_ __drv_aliasesMem PVOID Context);
|
||||||
|
|
||||||
NTKERNELAPI
|
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
|
||||||
IO_PRIORITY_HINT
|
IO_PRIORITY_HINT
|
||||||
NTAPI
|
NTAPI
|
||||||
IoGetIoPriorityHint(
|
IoGetIoPriorityHint(
|
||||||
_In_ PIRP Irp);
|
_In_ PIRP Irp);
|
||||||
|
|
||||||
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
IoSetIoPriorityHint(
|
IoSetIoPriorityHint(
|
||||||
_In_ PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
_In_ IO_PRIORITY_HINT PriorityHint);
|
_In_ IO_PRIORITY_HINT PriorityHint);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
IoAllocateSfioStreamIdentifier(
|
IoAllocateSfioStreamIdentifier(
|
||||||
|
@ -2388,7 +2383,6 @@ IoGetSfioStreamIdentifier(
|
||||||
_In_ PFILE_OBJECT FileObject,
|
_In_ PFILE_OBJECT FileObject,
|
||||||
_In_ PVOID Signature);
|
_In_ PVOID Signature);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
IoFreeSfioStreamIdentifier(
|
IoFreeSfioStreamIdentifier(
|
||||||
|
@ -2445,7 +2439,6 @@ IoUpdateDiskGeometry(
|
||||||
_In_ struct _DISK_GEOMETRY_EX* OldDiskGeometry,
|
_In_ struct _DISK_GEOMETRY_EX* OldDiskGeometry,
|
||||||
_In_ struct _DISK_GEOMETRY_EX* NewDiskGeometry);
|
_In_ struct _DISK_GEOMETRY_EX* NewDiskGeometry);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
PTXN_PARAMETER_BLOCK
|
PTXN_PARAMETER_BLOCK
|
||||||
NTAPI
|
NTAPI
|
||||||
IoGetTransactionParameterBlock(
|
IoGetTransactionParameterBlock(
|
||||||
|
@ -2471,14 +2464,12 @@ IoCreateFileEx(
|
||||||
_In_ ULONG Options,
|
_In_ ULONG Options,
|
||||||
_In_opt_ PIO_DRIVER_CREATE_CONTEXT DriverContext);
|
_In_opt_ PIO_DRIVER_CREATE_CONTEXT DriverContext);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
IoSetIrpExtraCreateParameter(
|
IoSetIrpExtraCreateParameter(
|
||||||
_Inout_ PIRP Irp,
|
_Inout_ PIRP Irp,
|
||||||
_In_ struct _ECP_LIST *ExtraCreateParameter);
|
_In_ struct _ECP_LIST *ExtraCreateParameter);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoClearIrpExtraCreateParameter(
|
IoClearIrpExtraCreateParameter(
|
||||||
|
@ -2491,7 +2482,6 @@ IoGetIrpExtraCreateParameter(
|
||||||
_In_ PIRP Irp,
|
_In_ PIRP Irp,
|
||||||
_Outptr_result_maybenull_ struct _ECP_LIST **ExtraCreateParameter);
|
_Outptr_result_maybenull_ struct _ECP_LIST **ExtraCreateParameter);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
IoIsFileObjectIgnoringSharing(
|
IoIsFileObjectIgnoringSharing(
|
||||||
|
@ -2608,6 +2598,8 @@ $endif (_NTIFS_)
|
||||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||||
|
|
||||||
|
$if (_WDMDDK_)
|
||||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||||
_Must_inspect_result_
|
_Must_inspect_result_
|
||||||
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
|
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
|
||||||
|
@ -2634,6 +2626,16 @@ IoGetDeviceInterfacePropertyData (
|
||||||
_Out_writes_bytes_to_(Size, *RequiredSize) PVOID Data,
|
_Out_writes_bytes_to_(Size, *RequiredSize) PVOID Data,
|
||||||
_Out_ PULONG RequiredSize,
|
_Out_ PULONG RequiredSize,
|
||||||
_Out_ PDEVPROPTYPE Type);
|
_Out_ PDEVPROPTYPE Type);
|
||||||
|
$endif (_WDMDDK_)
|
||||||
|
$if (_NTDDK_)
|
||||||
|
|
||||||
|
// NTKERNELAPI // HACK: ntoskrnl_vista functions are statically linked thus don't need DECLSPEC_IMPORT
|
||||||
|
VOID
|
||||||
|
IoSetMasterIrpStatus(
|
||||||
|
_Inout_ PIRP MasterIrp,
|
||||||
|
_In_ NTSTATUS Status);
|
||||||
|
$endif (_NTDDK_)
|
||||||
|
|
||||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
|
||||||
|
|
||||||
$if (_WDMDDK_)
|
$if (_WDMDDK_)
|
||||||
|
|
|
@ -108,3 +108,24 @@ IoGetIoPriorityHint(
|
||||||
{
|
{
|
||||||
return IoPriorityNormal;
|
return IoPriorityNormal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
IoSetMasterIrpStatus(
|
||||||
|
_Inout_ PIRP MasterIrp,
|
||||||
|
_In_ NTSTATUS Status)
|
||||||
|
{
|
||||||
|
NTSTATUS MasterStatus = MasterIrp->IoStatus.Status;
|
||||||
|
|
||||||
|
if (Status == STATUS_FT_READ_FROM_COPY)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((Status == STATUS_VERIFY_REQUIRED) ||
|
||||||
|
(MasterStatus == STATUS_SUCCESS && !NT_SUCCESS(Status)) ||
|
||||||
|
(!NT_SUCCESS(MasterStatus) && !NT_SUCCESS(Status) && Status > MasterStatus))
|
||||||
|
{
|
||||||
|
MasterIrp->IoStatus.Status = Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue