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

Requirement Value
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