#include "iop.h"
Go to the source code of this file.
Functions | |
VOID | IopCloseFile (IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ULONG GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount) |
VOID | IopDeleteFile (IN PVOID Object) |
VOID | IopDeleteDriver (IN PVOID Object) |
VOID | IopDeleteDevice (IN PVOID Object) |
PDEVICE_OBJECT | IopGetDevicePDO (IN PDEVICE_OBJECT DeviceObject) |
NTSTATUS | IopSetDeviceSecurityDescriptors (IN PDEVICE_OBJECT DeviceObject, IN PSECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping, IN BOOLEAN DoAttachedDevices) |
NTSTATUS | IopGetSetSecurityObject (IN PVOID Object, IN SECURITY_OPERATION_CODE OperationCode, IN PSECURITY_INFORMATION SecurityInformation, IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG CapturedLength, IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
|
Definition at line 36 of file objsup.c. References APC_LEVEL, _FILE_OBJECT::DeviceObject, _DEVICE_OBJECT::DriverObject, _FILE_OBJECT::Event, FALSE, _DRIVER_OBJECT::FastIoDispatch, _FAST_IO_DISPATCH::FastIoUnlockAll, _IO_STACK_LOCATION::FileObject, _IRP::Flags, _FILE_OBJECT::Flags, FO_DIRECT_DEVICE_OPEN, FO_HANDLE_CREATED, FO_SYNCHRONOUS_IO, IoCallDriver, IoFreeIrp(), IoGetAttachedDevice(), IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), IopAcquireFastLock, IopAcquireFileObjectLock(), IopAllocateIrpMustSucceed(), IopDequeueThreadIrp, IopQueueThreadIrp, IopReleaseFileObjectLock, IopUpdateOtherOperationCount(), _IRP::IoStatus, IRP_CLOSE_OPERATION, IRP_MJ_CLEANUP, IRP_MJ_LOCK_CONTROL, IRP_MN_UNLOCK_ALL, IRP_SYNCHRONOUS_API, KeClearEvent, KeInitializeEvent, KeLowerIrql(), KeRaiseIrql(), KernelMode, KeWaitForSingleObject(), _FILE_OBJECT::LockOperation, _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, NTSTATUS(), NULL, ObReferenceObject, _IRP::Overlay, PAGED_CODE, PsGetCurrentProcess, PsGetCurrentThread, _IRP::RequestorMode, _DEVICE_OBJECT::StackSize, _IRP::Tail, _IRP::UserEvent, _IRP::UserIosb, UserRequest, and VOID(). Referenced by IopCreateObjectTypes(), and IopDeleteFile().
|
|
Definition at line 769 of file objsup.c. References ASSERT, ASSERTMSG, _DEVOBJ_EXTENSION::DeviceNode, _DEVICE_OBJECT::DeviceObjectExtension, _DEVICE_OBJECT::DriverObject, ExFreePool(), _VPB::Flags, IopDestroyDeviceNode(), NULL, ObDereferenceObject, PAGED_CODE, _VPB::ReferenceCount, _DEVICE_OBJECT::Vpb, VPB_LOCKED, and VPB_MOUNTED. Referenced by IopCreateObjectTypes().
|
|
Definition at line 698 of file objsup.c. References ASSERT, _DRIVER_EXTENSION::ClientDriverExtension, _DRIVER_OBJECT::DeviceObject, _DRIVER_OBJECT::DriverExtension, _DRIVER_OBJECT::DriverName, _DRIVER_OBJECT::DriverSection, ExFreePool(), extension, MmUnloadSystemImage(), NULL, PAGED_CODE, and _DRIVER_EXTENSION::ServiceKeyName. Referenced by IopCreateObjectTypes().
|
|
Definition at line 417 of file objsup.c. References APC_LEVEL, _IRP::AssociatedIrp, _FILE_OBJECT::CompletionContext, _FILE_OBJECT::DeviceObject, DO_NEVER_LAST_DEVICE, _FILE_OBJECT::Event, Executive, ExFreePool(), ExInterlockedAddUlong(), FALSE, _FILE_OBJECT::FileName, _IO_STACK_LOCATION::FileObject, _DEVICE_OBJECT::Flags, _IRP::Flags, _FILE_OBJECT::Flags, FO_DIRECT_DEVICE_OPEN, FO_HANDLE_CREATED, FO_SYNCHRONOUS_IO, IoAllocateIrp(), IoCallDriver, IoFreeIrp(), IoGetAttachedDevice(), IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), IopAcquireFastLock, IopAcquireFileObjectLock(), IopAllocateIrpMustSucceed(), IopCloseFile(), IopDatabaseLock, IopDecrementDeviceObjectRef(), IopDequeueThreadIrp, IopQueueThreadIrp, IopVpbSpinLock, IRP_CLOSE_OPERATION, IRP_MJ_CLOSE, IRP_SYNCHRONOUS_API, KeClearEvent, KeInitializeEvent, KeLowerIrql(), KeRaiseIrql(), KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MajorFunction, NTSTATUS(), NULL, ObDereferenceObject, _IO_COMPLETION_CONTEXT::Port, PsGetCurrentThread, _DEVICE_OBJECT::ReferenceCount, _VPB::ReferenceCount, _DEVICE_OBJECT::StackSize, _IRP::Tail, TRUE, _IRP::UserEvent, _IRP::UserIosb, VOID(), and _FILE_OBJECT::Vpb. Referenced by IopCreateObjectTypes(), and IopParseDevice().
|
|
Definition at line 826 of file objsup.c. References ASSERT, DO_BUS_ENUMERATED_DEVICE, _DEVICE_OBJECT::Flags, IopAcquireEnumerationLock, IopDatabaseLock, IopGetDeviceAttachmentBase(), IopReleaseEnumerationLock, NULL, and ObReferenceObject. Referenced by IopGetSetSecurityObject().
|
|
Definition at line 975 of file objsup.c. References AssignSecurityDescriptor, DeleteSecurityDescriptor, _FILE_OBJECT::DeviceObject, _FILE_OBJECT::Event, ExAcquireResourceExclusive, ExAcquireResourceShared, EXCEPTION_EXECUTE_HANDLER, Executive, ExReleaseResource, FALSE, _FILE_OBJECT::FileName, _IO_STACK_LOCATION::FileObject, _FILE_OBJECT::FinalStatus, _IRP::Flags, _FILE_OBJECT::Flags, FO_ALERTABLE_IO, FO_DIRECT_DEVICE_OPEN, FO_STREAM_FILE, FO_SYNCHRONOUS_IO, IO_TYPE_DEVICE, IoAllocateIrp(), IoCallDriver, IoGetAttachedDevice(), IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), IopAcquireFastLock, IopAcquireFileObjectLock(), IopAllocateIrpCleanup(), IopGetDevicePDO(), IopQueueThreadIrp, IopReleaseFileObjectLock, IopSecurityResource, IopSetDeviceSecurityDescriptors(), IopUpdateOtherOperationCount(), IRP_MJ_QUERY_SECURITY, IRP_MJ_SET_SECURITY, IRP_SYNCHRONOUS_API, KeClearEvent, KeEnterCriticalRegion, KeInitializeEvent, KeLeaveCriticalRegion, KernelMode, KeWaitForSingleObject(), KPROCESSOR_MODE, _IO_STACK_LOCATION::MajorFunction, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, _IRP::Overlay, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PsGetCurrentThread, QuerySecurityDescriptor, _FILE_OBJECT::RelatedFileObject, _IRP::RequestorMode, SeAssignWorldSecurityDescriptor(), _DEVICE_OBJECT::SecurityDescriptor, SeQuerySecurityDescriptorInfo(), SetSecurityDescriptor, _DEVICE_OBJECT::StackSize, _IRP::Tail, TRUE, _IRP::UserBuffer, _IRP::UserEvent, _IRP::UserIosb, and VOID(). Referenced by IopCreateObjectTypes().
|
|
Definition at line 877 of file objsup.c. References ASSERT, _DEVICE_OBJECT::AttachedDevice, ExAcquireResourceExclusive, ExFreePool(), ExReleaseResource, FALSE, IopAcquireEnumerationLock, IopDatabaseLock, IopReleaseEnumerationLock, IopSecurityResource, KeEnterCriticalRegion, KeLeaveCriticalRegion, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, SeSetSecurityDescriptorInfo(), and TRUE. Referenced by IopGetSetSecurityObject().
|