ReactOS 0.4.16-dev-340-g0540c21
|
#include "coreprivshared.hpp"
#include "fxiotarget.hpp"
#include <intsafe.h>
#include "FxDeviceApiUm.tmh"
Go to the source code of this file.
__drv_maxIRQL | ( | DISPATCH_LEVEL | ) |
_Must_inspect_result_ __drv_maxIRQL | ( | PASSIVE_LEVEL | ) |
_Must_inspect_result_ _In_ WDFDEVICE _In_ REFGUID _In_ WDF_EVENT_TYPE _In_reads_bytes_ | ( | DataSizeCb | ) |
_In_ WDFDEVICE _In_ WDF_DEVICE_HWACCESS_TARGET_TYPE _In_ WDF_DEVICE_HWACCESS_TARGET_SIZE _In_ PVOID _In_ SIZE_T _In_reads_opt_ | ( | Count | ) |
_Must_inspect_result_ _IRQL_requires_max_ | ( | PASSIVE_LEVEL | ) |
Queries information details about a security descriptor.
Computes the quota size of a security descriptor.
Assigns a security descriptor for a new object.
An extended function that assigns a security descriptor for a new object.
Frees a security descriptor.
An extended function that sets new information data to a security descriptor.
Modifies some information data about a security descriptor.
[in] | SecurityInformation | Security information details to be queried from a security descriptor. |
[out] | SecurityDescriptor | The returned security descriptor with security information data. |
[in,out] | Length | The returned length of a security descriptor. |
[in,out] | ObjectsSecurityDescriptor | The returned object security descriptor. |
[in] | Object | If specified, the function will use this arbitrary object that points to an object security descriptor. |
[in] | SecurityInformation | Security information details to be set. |
[in] | SecurityDescriptor | A security descriptor where its info is to be changed. |
[in,out] | ObjectsSecurityDescriptor | The returned pointer to security descriptor objects. |
[in] | PoolType | Pool type for the new security descriptor to allocate. |
[in] | GenericMapping | The generic mapping of access rights masks. |
[in] | Object | If specified, the function will use this arbitrary object that points to an object security descriptor. |
[in] | SecurityInformation | Security information details to be set. |
[in] | SecurityDescriptor | A security descriptor where its info is to be changed. |
[in,out] | ObjectsSecurityDescriptor | The returned pointer to security descriptor objects. |
[in] | AutoInheritFlags | Flags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place. |
[in] | PoolType | Pool type for the new security descriptor to allocate. |
[in] | GenericMapping | The generic mapping of access rights masks. |
[in] | SecurityDescriptor | A security descriptor to be freed from memory. |
[in] | _ParentDescriptor | A security descriptor of the parent object that is being created. |
[in] | _ExplicitDescriptor | An explicit security descriptor that is applied to a new object. |
[out] | NewDescriptor | The new allocated security descriptor. |
[in] | ObjectType | The type of the new object. |
[in] | IsDirectoryObject | Set this to TRUE if the newly created object is a directory object, otherwise set this to FALSE. |
[in] | AutoInheritFlags | Automatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited. |
[in] | SubjectContext | Security subject context of the new object. |
[in] | GenericMapping | Generic mapping of access mask rights. |
[in] | PoolType | This parameter is unused. |
[in] | ParentDescriptor | A security descriptor of the parent object that is being created. |
[in] | ExplicitDescriptor | An explicit security descriptor that is applied to a new object. |
[out] | NewDescriptor | The new allocated security descriptor. |
[in] | IsDirectoryObject | Set this to TRUE if the newly created object is a directory object, otherwise set this to FALSE. |
[in] | SubjectContext | Security subject context of the new object. |
[in] | GenericMapping | Generic mapping of access mask rights. |
[in] | PoolType | This parameter is unused. |
[in] | SecurityDescriptor | A security descriptor. |
[out] | QuotaInfoSize | The returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even. |
Definition at line 923 of file Messaging.c.
_In_ WDFDEVICE _In_ WDF_DEVICE_HWACCESS_TARGET_TYPE _In_ WDF_DEVICE_HWACCESS_TARGET_SIZE _In_ PVOID _Out_writes_all_opt_ | ( | Count | ) |
return pDevice m_PkgIo DispatchStep1 | ( | reinterpret_cast< MdIrp > | pIrp, |
DispatchContext | |||
) |
FX_DECLARE_VF_FUNCTION_P4 | ( | NTSTATUS | , |
VerifyWdfDeviceWdmDispatchIrpToIoQueue | , | ||
_In_ FxDevice * | , | ||
_In_ | MdIrp, | ||
_In_ FxIoQueue * | , | ||
_In_ | ULONG | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("CacheType incorrect",(CacheType >=MmNonCached &&CacheType< MmMaximumCacheType)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Count should be 0",(Count==0)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Driver attempted to read from invalid port address or " "address range",(SUCCEEDED(hr))) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Driver attempted to unmap " "incorrect register address, or provided incorrect size", SUCCEEDED(hr)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Driver attempted to write to invalid port address or " "address range",(SUCCEEDED(hr))) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Driver provided incorrect base " "address", SUCCEEDED(hr)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Incorrect register access mode." " Register mapping to user-mode is not enabled. Set the INF directive" " UmdfRegisterAccessMode to RegisterAccessUsingUserModeMapping" " in driver's INF file to enable Register mapping to user-mode",(pDevice->AreRegistersMappedToUsermode()==TRUE)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Incorrect Size parameter",(Size > WdfDeviceHwAccessTargetSizeInvalid &&Size< WdfDeviceHwAccessTargetSizeMaximum)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("Incorrect Type parameter",(Type > WdfDeviceHwAccessTargetTypeInvalid &&Type< WdfDeviceHwAccessTargetTypeMaximum)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("NumberOfBytes should be > 0",(NumberOfBytes > 0)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("This function must be called from within a " "EVT_WDFDEVICE_WDM_IRP_DISPATCH callback",((UCHAR) DispatchContext &FX_IN_DISPATCH_CALLBACK)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK("ULONG64 write is allowed only" "on 64-bit platform",(Size !=WdfDeviceHwAccessTargetSizeUlong64)) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK(ERROR_STRING_HW_ACCESS_NOT_ALLOWED,(pDevice->IsDirectHardwareAccessAllowed()==TRUE)) | , | ||
DriverGlobals-> | DriverName | ||
) |
Referenced by FxInterruptThreadpool::_CreateAndInit(), FxIrp::AllocateIrp(), if(), LockResourceTable(), FxCmResList::MapIoSpaceWorker(), FxCmResList::ValidateAndClearMapping(), FxCmResList::ValidatePortAddressRange(), FxCmResList::ValidateRegisterPhysicalAddressRange(), FxCmResList::ValidateRegisterSystemAddressRange(), FxCmResList::ValidateRegisterSystemBaseAddress(), and FxCmResList::ValidateResourceUnmap().
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK_NOT_NULL(PhysicalAddress.QuadPart) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK_NOT_NULL(PseudoBaseAddress) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
CHECK_NOT_NULL(TargetAddress) | , | ||
DriverGlobals-> | DriverName | ||
) |
FX_VERIFY_WITH_NAME | ( | DRIVER(BadArgument, TODO) | , |
TRAPMSG("The DDI WdfDeviceGetFileObject is not supported for UMDF") | , | ||
DriverGlobals-> | DriverName | ||
) |
Referenced by FxIoQueue::CancelIrps(), FxDefaultIrpHandler::Dispatch(), FxPkgGeneral::Dispatch(), FxPkgIo::Dispatch(), FxPkgIo::DispatchStep1(), FxPkgIo::DispatchStep2(), FxPkgIo::DispathToInCallerContextCallback(), FxIoQueue::QueueDriverCreatedRequest(), FxIrpQueue::RemoveIrpFromQueueByContext(), FxIrpQueue::RemoveNextIrpFromQueue(), FxRequestBase::ValidateTarget(), and VerifyWdfDeviceWdmDispatchIrpToIoQueue().
FxObjectHandleGetPtr | ( | pFxDriverGlobals | , |
Queue | , | ||
FX_TYPE_QUEUE | , | ||
(PVOID *)& | pQueue | ||
) |
FxObjectHandleGetPtrAndGlobals | ( | GetFxDriverGlobals(DriverGlobals) | , |
Device | , | ||
FX_TYPE_DEVICE | , | ||
(PVOID *) & | pDevice, | ||
& | pFxDriverGlobals | ||
) |
FxObjectHandleGetPtrAndGlobals | ( | GetFxDriverGlobals(DriverGlobals) | , |
Device | , | ||
FX_TYPE_DEVICE | , | ||
(PVOID *)& | pDevice, | ||
& | pFxDriverGlobals | ||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
DispatchContext | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
IoControlIoType | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
Irp | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
pIrp | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
PropertyMemory | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
PropertyType | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
ReadWriteIoType | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
ResultLength | |||
) |
FxPointerNotNull | ( | pFxDriverGlobals | , |
Type | |||
) |
pDevice GetDeviceStackIoType | ( | ReadWriteIoType | , |
IoControlIoType | |||
) |
if | ( | ! | NT_SUCCESSstatus | ) |
Definition at line 965 of file fxdeviceapium.cpp.
if | ( | BufferLength ! | = 0 && PropertyBuffer == NULL | ) |
Definition at line 1183 of file fxdeviceapium.cpp.
if | ( | BufferLength | = = 0 && PropertyBuffer != NULL | ) |
Definition at line 969 of file fxdeviceapium.cpp.
if | ( | DataSizeCb | , |
0 | |||
) |
Definition at line 111 of file fxdeviceapium.cpp.
Definition at line 136 of file fxdeviceapium.cpp.
if | ( | pDevice-> | AreRegistersMappedToUsermode) &&pDevice->IsRegister(Type | ) |
Definition at line 587 of file fxdeviceapium.cpp.
if | ( | pDevice-> | IsBufferTypeType) &&pDevice->IsRegister(Type | ) |
Definition at line 569 of file fxdeviceapium.cpp.
if | ( | pDevice-> | IsBufferTypeType | ) |
Definition at line 537 of file fxdeviceapium.cpp.
if | ( | WdfEventType ! | = WdfEventBroadcast | ) |
Definition at line 118 of file fxdeviceapium.cpp.
resources LockResourceTable | ( | ) |
deviceStack ReadFromHardware | ( | (UMINT::WDF_DEVICE_HWACCESS_TARGET_TYPE) | Type, |
(UMINT::WDF_DEVICE_HWACCESS_TARGET_SIZE) | Size, | ||
TargetAddress | , | ||
& | value, | ||
Buffer | , | ||
Count | |||
) |
Definition at line 340 of file fxdeviceapium.cpp.
resources UnlockResourceTable | ( | ) |
UNREFERENCED_PARAMETER | ( | FileObject | ) |
deviceStack WriteToHardware | ( | (UMINT::WDF_DEVICE_HWACCESS_TARGET_TYPE) | Type, |
(UMINT::WDF_DEVICE_HWACCESS_TARGET_SIZE) | Size, | ||
TargetAddress | , | ||
Value | , | ||
Buffer | , | ||
Count | |||
) |
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ ULONG BufferLength |
Definition at line 908 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE _In_ PHYSICAL_ADDRESS _In_ SIZE_T _In_ MEMORY_CACHING_TYPE CacheType |
Definition at line 164 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _In_ WDF_DEVICE_HWACCESS_TARGET_TYPE _In_ WDF_DEVICE_HWACCESS_TARGET_SIZE _In_ PVOID _In_ SIZE_T _In_opt_ ULONG Count |
Definition at line 456 of file fxdeviceapium.cpp.
Referenced by if().
_Must_inspect_result_ _In_ WDFDEVICE _In_ REFGUID _In_ WDF_EVENT_TYPE _In_ ULONG DataSizeCb |
Definition at line 59 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE Device |
Definition at line 55 of file fxdeviceapium.cpp.
deviceStack = pDevice->GetDeviceStack() |
Definition at line 288 of file fxdeviceapium.cpp.
Referenced by GetStackCapabilities(), FxCmResList::MapIoSpaceWorker(), FxIrp::RequestPowerIrp(), SetD3ColdSupport(), and SUCCEEDED().
Definition at line 1399 of file fxdeviceapium.cpp.
else |
Definition at line 143 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE _In_ REFGUID EventGuid |
Definition at line 56 of file fxdeviceapium.cpp.
Referenced by IopQueueDeviceChangeEvent(), IopQueueDeviceInstallEvent(), and IoSetDeviceInterfaceState().
__in WDFDEVICE __in MdFileObject FileObject |
Definition at line 1294 of file fxdeviceapium.cpp.
Definition at line 1336 of file fxdeviceapium.cpp.
hr |
Definition at line 99 of file fxdeviceapium.cpp.
Referenced by _In_reads_opt_(), if(), and LockResourceTable().
_In_ WDFDEVICE _Out_ WDF_DEVICE_IO_TYPE _Out_ WDF_DEVICE_IO_TYPE* IoControlIoType |
Definition at line 1222 of file fxdeviceapium.cpp.
Referenced by FxDevice::GetDeviceStackIoType().
_Must_inspect_result_ __in WDFDEVICE __in MdIrp Irp |
Definition at line 1332 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN IsPresent |
Definition at line 1254 of file fxdeviceapium.cpp.
Referenced by EHCI_LinkTransferToQueue(), and USBPORT_IsCompanionController().
length = 0 |
Definition at line 491 of file fxdeviceapium.cpp.
return NULL |
Definition at line 1320 of file fxdeviceapium.cpp.
Referenced by _In_reads_opt_(), if(), and LockResourceTable().
FxDevice* pDevice |
Definition at line 98 of file fxdeviceapium.cpp.
Referenced by _In_reads_opt_(), if(), and SUCCEEDED().
pDevStack = pDevice->m_DevStack |
Definition at line 1262 of file fxdeviceapium.cpp.
PFX_DRIVER_GLOBALS pFxDriverGlobals |
Definition at line 97 of file fxdeviceapium.cpp.
Referenced by _In_reads_opt_(), and if().
_Must_inspect_result_ _In_ WDFDEVICE _In_ PHYSICAL_ADDRESS PhysicalAddress |
Definition at line 160 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP pIrp |
Definition at line 1397 of file fxdeviceapium.cpp.
Definition at line 997 of file fxdeviceapium.cpp.
FxIoQueue * pQueue |
Definition at line 1342 of file fxdeviceapium.cpp.
Referenced by FxIoQueue::_Create(), AddEventHooksWdfIoQueueCreate(), FxPkgIo::CreateQueue(), FxPkgIo::EnqueueRequest(), PerfEvtIoStopStart(), PerfEvtIoStopStop(), FxRequest::PostProcessSendAndForget(), QUARTZ_InsertAviseEntryFromQueue(), and FxPkgIo::RemoveQueueReferences().
Definition at line 910 of file fxdeviceapium.cpp.
Definition at line 904 of file fxdeviceapium.cpp.
Referenced by FxDevice::_AllocAndQueryPropertyEx(), FxDevice::_QueryPropertyEx(), FxDevice::AssignProperty(), DECLARE_INTERFACE_(), DECLSPEC_UUID(), FxDevice::FxValidateInterfacePropertyData(), IKsControl_fnKsProperty(), IopGetDeviceProperty(), CInputPin::KsProperty(), CKsNode::KsProperty(), COutputPin::KsProperty(), CKsProxy::KsProperty(), and WDF_DEVICE_PROPERTY_DATA_INIT().
* PropertyMemory = NULL |
Definition at line 1001 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes |
Definition at line 999 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG _Out_ PDEVPROPTYPE PropertyType |
Definition at line 1111 of file fxdeviceapium.cpp.
Referenced by FxDevice::_AllocAndQueryPropertyEx(), and FxDevice::_QueryPropertyEx().
Definition at line 166 of file fxdeviceapium.cpp.
Referenced by FxCmResList::MapIoSpaceWorker().
Definition at line 1334 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _Out_ WDF_DEVICE_IO_TYPE* ReadWriteIoType |
Definition at line 1220 of file fxdeviceapium.cpp.
FxCmResList * resources = pDevice->GetTranslatedResources() |
Definition at line 290 of file fxdeviceapium.cpp.
Referenced by _Function_class_(), _In_reads_opt_(), add_output_to_resources(), d3d9_device_CheckResourceResidency(), DECLARE_INTERFACE_(), flush_output_resources(), if(), LockResourceTable(), and WNetClearConnections().
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ ULONG _Out_ PVOID _Out_ PULONG ResultLength |
Definition at line 1109 of file fxdeviceapium.cpp.
return |
Definition at line 346 of file fxdeviceapium.cpp.
Definition at line 450 of file fxdeviceapium.cpp.
status = pDevice->FxValidateInterfacePropertyData(PropertyData) |
Definition at line 96 of file fxdeviceapium.cpp.
Referenced by if().
Definition at line 489 of file fxdeviceapium.cpp.
Referenced by _In_reads_opt_(), if(), LockResourceTable(), and FxCmResList::MapIoSpaceWorker().
PVOID systemBaseAddress = pDevice->GetSystemAddressFromPseudoAddress(PseudoBaseAddress) |
Definition at line 291 of file fxdeviceapium.cpp.
Referenced by SUCCEEDED().
_In_ WDFDEVICE _In_ WDF_DEVICE_HWACCESS_TARGET_TYPE _In_ WDF_DEVICE_HWACCESS_TARGET_SIZE _In_ PVOID TargetAddress |
Definition at line 452 of file fxdeviceapium.cpp.
FxCmResList * transResources = pDevice->GetTranslatedResources() |
Definition at line 198 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _In_ PWDF_DEVICE_INTERFACE_PROPERTY_DATA _In_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY _Out_ PDEVPROPTYPE Type |
Definition at line 448 of file fxdeviceapium.cpp.
Definition at line 385 of file fxdeviceapium.cpp.
Definition at line 488 of file fxdeviceapium.cpp.
_In_ WDFDEVICE _In_ WDF_DEVICE_HWACCESS_TARGET_TYPE _In_ WDF_DEVICE_HWACCESS_TARGET_SIZE _In_ PVOID _In_ SIZE_T Value |
Definition at line 679 of file fxdeviceapium.cpp.
_Must_inspect_result_ _In_ WDFDEVICE _In_ REFGUID _In_ WDF_EVENT_TYPE WdfEventType |
Definition at line 57 of file fxdeviceapium.cpp.
Referenced by if().