Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
A helper function that returns the address of (in other words, a pointer to) the underlying raw IUnknown interface of an object of a projected type (for info about projected types, see Consume APIs with C++/WinRT).
This function helps you call methods (such as COM methods) that expect a pointer to ::IUnknown. See the Example section in this topic for more details. Also see the winrt::Windows::Foundation::IUnknown struct.
It's a good idea to #include <unknwn.h> explicity whenever you use winrt::get_unknown, even if that header has been included by another header.
Syntax
inline ::IUnknown* get_unknown(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parameters
object
An object of a projected type to operate on (or any winrt::Windows::Foundation::IUnknown value).
Return value
The address of the underlying raw IUnknown interface as a pointer to IUnknown.
Example
#include <dxgi1_2.h>
#include <d3d12.h>
#include <unknwn.h>
#include <winrt/Windows.UI.Core.h>
...
winrt::com_ptr<::IDXGIFactory2> factory;
winrt::com_ptr<::ID3D12CommandQueue> commandQueue;
winrt::Windows::UI::Core::CoreWindow coreWindow{ nullptr };
DXGI_SWAP_CHAIN_DESC1 swapChainDesc{};
winrt::com_ptr<::IDXGISwapChain1> swapChain;
// Initialize the variables here.
winrt::check_hresult(
factory->CreateSwapChainForCoreWindow(
commandQueue.get(),
winrt::get_unknown(coreWindow),
&swapChainDesc,
nullptr,
swapChain.put())
);
The get_unknown function is not intended for cases where you're authoring a type that does implement a COM interface, but that doesn't implement a Windows Runtime type. In a case like that, you can pass a pointer to your type wherever ::IUnknown is expected, as shown below.
HRESULT FunctionThatExpectsAnIUnknown(::IUnknown * pUnk);
...
struct MyRuntimeClass : winrt::implements<MyRuntimeClass, IMyCOMInterface>
{
...
HRESULT MyRuntimeClass::MemberFunction()
{
return FunctionThatExpectsAnIUnknown(this);
}
}
For more info, see Author APIs with C++/WinRT.
Requirements
Minimum supported SDK: Windows SDK version 10.0.17134.0 (Windows 10, version 1803)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)