PGET_LINK_POSITION_REGISTER callback function (hdaudio.h)

The GetLinkPositionRegister routine retrieves a pointer to a DMA engine's link position register.

The function pointer type for a GetLinkPositionRegister routine is defined as follows.

Syntax

PGET_LINK_POSITION_REGISTER PgetLinkPositionRegister;

NTSTATUS PgetLinkPositionRegister(
  [in]  PVOID _context,
  [in]  HANDLE Handle,
  [out] PULONG *Position
)
{...}

Parameters

[in] _context

Specifies the context value from the Context member of the HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2 or HDAUDIO_BUS_INTERFACE_BDL structure.

[in] Handle

Handle that identifies the DMA engine. This handle value was obtained from a previous call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.

[out] Position

Retrieves a pointer to the link position register. This parameter points to a caller-allocated PULONG variable into which the routine writes a pointer to the register. The HD Audio bus driver maps the register to a system virtual address that is accessible to the function driver.

Return value

GetLinkPositionRegister returns STATUS_SUCCESS if the call succeeds. Otherwise, the routine returns an appropriate error code. The following table shows a possible return status code.

Return code Description
STATUS_INVALID_HANDLE
Indicates that the handle parameter value is invalid.

Remarks

For more information, see Wall Clock and Link Position Registers.

Requirements

   
Target Platform Desktop
Header hdaudio.h (include Hdaudio.h)
IRQL <=DISPATCH_LEVEL

See also

AllocateCaptureDmaEngine

AllocateRenderDmaEngine

HDAUDIO_BUS_INTERFACE

HDAUDIO_BUS_INTERFACE_BDL

HDAUDIO_BUS_INTERFACE_V2