IAccessibilityDockingService::GetAvailableSize method

Gets the dimensions available for docking an accessibility window on a monitor.


HRESULT GetAvailableSize(
  [in]  HMONITOR hMonitor,
  [out] UINT     *puMaxHeight,
  [out] UINT     *puFixedWidth


hMonitor [in]

Specifies the monitor for which the available docking size will be retrieved.

puMaxHeight [out]

On success, set to the maximum height available for docking on the specified hMonitor, in pixels.

On failure, set to zero.

puFixedWidth [out]

On success, set to the fixed width available for docking on the specified hMonitor, in pixels. Any window docked to this hMonitor will be sized to this width.

On failure, set to zero.

Return value

Return codeDescription



The monitor specified by the monitor handle does not support docking.


If either puMaxHeight or puFixedWidth are null, an access violation will occur.


Accessibility windows can only be docked to a monitor that has at least 768 vertical screen pixels. This API will not allow such windows to be docked with a height that would cause Windows Store apps to have less than 768 vertical screen pixels.


IAccessibilityDockingService *pDockingService;
HRESULT hr = CoCreateInstance(CLSID_AccessibilityDockingService, CLSCTX_INPROV_SERVER, nullptr, IID_PPV_ARGS(&pDockingService));
if (SUCCEEDED(hr))
    UINT uMaxHeight;
    UINT uFixedWidth;

    HMONITOR hMonitor = MonitorFromWindow(_hwndMyApplication, MONITOR_DEFAULTTONULL);
    if (hMonitor != nullptr)
        hr = pDockingService->GetAvailableSize(hMonitor, &uMaxHeight, &uFixedWidth);

See also