IKsDeviceFunctions::RegisterAdapterObjectEx method (ks.h)
The IKsDeviceFunctions::RegisterAdapterObjectEx method registers a DMA adapter object with AVStream. All drivers compiled for Win64 platforms should use this method instead of KsDeviceRegisterAdapterObject.
Syntax
NTSTATUS RegisterAdapterObjectEx(
[in] PADAPTER_OBJECT AdapterObject,
[in] PDEVICE_DESCRIPTION DeviceDescription,
[in] ULONG NumberOfMapRegisters,
[in] ULONG MaxMappingsByteCount,
[in] ULONG MappingTableStride
);
Parameters
[in] AdapterObject
Pointer to the ADAPTER_OBJECT for the device. Must be acquired through IoGetDmaAdapter before calling RegisterAdapterObjectEx.
[in] DeviceDescription
Pointer to a structure of type DEVICE_DESCRIPTION that describes the attributes of the physical device for which the caller is registering a DMA object.
[in] NumberOfMapRegisters
Specifies the number of map registers returned from the minidriver's call to IoGetDmaAdapter.
[in] MaxMappingsByteCount
Specifies the maximum number of bytes that the device can handle for a single mapping. Enables AVStream to automatically break up large chunks of contiguous physical memory into multiple scatter/gather elements for devices that impose a size limit on individual mappings in DMA transfers. See important additional information about MaxMappingsByteCount on the KsDeviceRegisterAdapterObject reference page.
[in] MappingTableStride
Specifies how many bytes each entry in the mapping table requires. This value must be at least sizeof (KSMAPPING) and can be as large as necessary.
Additional space can be used by the minidriver as context information.
Return value
RegisterAdapterObjectEx returns STATUS_SUCCESS if the DMA object was successfully registered. The method returns STATUS_INSUFFICIENT_RESOURCES if sufficient memory is not available.
Remarks
Also see Supporting DMA in 64-Bit AVStream Drivers.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Microsoft Windows Server 2003 with Service Pack 1 (SP1) and later versions of Windows. |
Target Platform | Universal |
Header | ks.h (include Ks.h) |