Share via


WeakRef::As Method

Sets the specified ComPtr pointer parameter to represent the specified interface.

template<
   typename U
>
HRESULT As(
   _Out_ ComPtr<U>* ptr
);

template<
   typename U
>
HRESULT As(
   _Out_ Details::ComPtrRef<ComPtr<U>> ptr
);

Parameters

  • U
    An interface ID.

  • ptr
    When this operation completes, an object that represents parameter U.

Return Value

  • S_OK if this operation succeeds; otherwise, an HRESULT that indicates the reason the operation failed.

  • S_OK if this operation succeeds, but the current WeakRef object has already been released. Parameter ptr is set to nullptr.

  • S_OK if this operation succeeds, but the current WeakRef object is not derived from parameter U. Parameter ptr is set to nullptr.

Remarks

An error is emitted if parameter U is IWeakReference, or is not derived from IInspectable.

The first template is the form that you should use in your code. The second template is an internal, helper specialization that supports C++ language features such as the auto type deduction keyword.

Requirements

Header: client.h

Namespace: Microsoft::WRL

See Also

Reference

WeakRef Class