RegisterAdapterObjectEx method

The IKsDeviceFunctions::RegisterAdapterObjectEx method registers a DMA adapter object with AVStream. All drivers compiled for Win64 platforms should use this method instead of KsDeviceRegisterAdapterObject.


NTSTATUS RegisterAdapterObjectEx(
  [in] PADAPTER_OBJECT     AdapterObject,
  [in] PDEVICE_DESCRIPTION DeviceDescription,
  [in] ULONG               NumberOfMapRegisters,
  [in] ULONG               MaxMappingsByteCount,
  [in] ULONG               MappingTableStride



Pointer to the ADAPTER_OBJECT for the device. Must be acquired through IoGetDmaAdapter before calling RegisterAdapterObjectEx.


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.


Specifies the number of map registers returned from the minidriver's call to IoGetDmaAdapter.


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.


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.


Also see Supporting DMA in 64-Bit AVStream Drivers.


Windows version 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)
Library ks.h

See Also


Send comments about this topic to Microsoft