31 *OutMinimumAddress = IoDescriptor->u.Dma.MinimumChannel;
32 *OutMaximumAddress = IoDescriptor->u.Dma.MaximumChannel;
49 CmDescriptor->ShareDisposition = IoDescriptor->ShareDisposition;
50 CmDescriptor->Flags = IoDescriptor->Flags;
56#if (NTDDI_VERSION >= NTDDI_WIN8)
59 CmDescriptor->u.DmaV3.Channel = IoDescriptor->u.DmaV3.Channel;
60 CmDescriptor->u.DmaV3.RequestLine = IoDescriptor->u.DmaV3.RequestLine;
61 CmDescriptor->u.DmaV3.TransferWidth = (
UCHAR)IoDescriptor->u.DmaV3.TransferWidth;
67 CmDescriptor->u.Dma.Port = 0;
81 *
Start = CmDescriptor->u.Dma.Channel;
93 return (
INT32)(IoDescriptor->u.Dma.MaximumChannel - IoDescriptor->u.Dma.MinimumChannel);
static _Out_opt_ PULONGLONG Start
COMPILER_DEPENDENT_UINT64 UINT64
NTSTATUS NTAPI IopArbDmaInitialize(VOID)
Initialize the RootDmaArbiter.
INT32 NTAPI IopArbDmaScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
NTSTATUS NTAPI IopArbDmaPackResource(_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor, _In_ UINT64 Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
NTSTATUS NTAPI IopArbDmaUnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor, _Out_ PUINT64 Start, _Out_ PUINT64 OutLength)
NTSTATUS NTAPI IopArbDmaUnpackRequirements(_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor, _Out_ PUINT64 OutMinimumAddress, _Out_ PUINT64 OutMaximumAddress, _Out_ PUINT64 OutLength, _Out_ PUINT64 OutAlignment)
ARBITER_INSTANCE IopRootDmaArbiter
NTSTATUS NTAPI ArbiterLibInitializeInstance(_Inout_ PARBITER_INSTANCE Arbiter, _In_ PDEVICE_OBJECT BusDeviceObject, _In_ CM_RESOURCE_TYPE ResourceType, _In_ PCWSTR ArbiterName, _In_ PCWSTR OrderName, _In_ PARB_TRANSLATE_ORDERING TranslateOrderingFunction)
unsigned __int64 * PUINT64
#define NT_SUCCESS(StatCode)
#define CmResourceTypeDma
PARB_UNPACK_RESOURCE UnpackResource
PARB_SCORE_REQUIREMENT ScoreRequirement
PARB_UNPACK_REQUIREMENT UnpackRequirement
PARB_PACK_RESOURCE PackResource
#define STATUS_UNSUCCESSFUL
#define CM_RESOURCE_DMA_V3