本文整理汇总了C++中ComPtr::ActivateInstance方法的典型用法代码示例。如果您正苦于以下问题:C++ ComPtr::ActivateInstance方法的具体用法?C++ ComPtr::ActivateInstance怎么用?C++ ComPtr::ActivateInstance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ComPtr
的用法示例。
在下文中一共展示了ComPtr::ActivateInstance方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateCanvasSwapChainPanel
virtual ComPtr<CanvasSwapChainPanel> CreateCanvasSwapChainPanel() override
{
ComPtr<IInspectable> canvasSwapChainPanelInspectable;
ThrowIfFailed(m_canvasSwapChainPanelActivationFactory->ActivateInstance(&canvasSwapChainPanelInspectable));
auto canvasSwapChainPanel = As<ICanvasSwapChainPanel>(canvasSwapChainPanelInspectable);
return static_cast<CanvasSwapChainPanel*>(canvasSwapChainPanel.Get());
}
示例2: CreateImageControl
virtual ComPtr<IImage> CreateImageControl() override
{
ComPtr<IInspectable> inspectableImage;
ThrowIfFailed(m_imageControlFactory->ActivateInstance(&inspectableImage));
ComPtr<IImage> image;
ThrowIfFailed(inspectableImage.As(&image));
return image;
}
示例3: CreateLoggingFields
HRESULT Trace::CreateLoggingFields(ComPtr<ILoggingFields> *ppFields)
{
HRESULT hr = S_OK;
HStringReference runtimeClassLoggingFields(RuntimeClass_Windows_Foundation_Diagnostics_LoggingFields);
ComPtr<IActivationFactory> spFactory;
hr = ABI::Windows::Foundation::GetActivationFactory(runtimeClassLoggingFields.Get(), &spFactory);
if (FAILED(hr))
return hr;
ComPtr<IInspectable> object;
spFactory->ActivateInstance(&object);
hr = object.As(ppFields);
return hr;
}
示例4: initialize
bool WinRTWindow::initialize(const std::string &name, size_t width, size_t height)
{
ComPtr<ICoreWindowStatic> coreWindowStatic;
ComPtr<IActivationFactory> propertySetFactory;
ComPtr<IPropertyValueStatics> propertyValueStatics;
ComPtr<ICoreApplication> coreApplication;
ComPtr<IPropertySet> coreApplicationProperties;
ComPtr<IMap<HSTRING, IInspectable *>> coreApplicationPropertiesAsMap;
ComPtr<IMap<HSTRING, IInspectable *>> nativeWindowAsMap;
ComPtr<IInspectable> sizeValue;
HRESULT result = S_OK;
boolean propertyReplaced = false;
destroy();
// Get all the relevant activation factories
result = GetActivationFactory(
HStringReference(RuntimeClass_Windows_UI_Core_CoreWindow).Get(), &coreWindowStatic);
if (FAILED(result))
{
return false;
}
result = GetActivationFactory(
HStringReference(RuntimeClass_Windows_Foundation_Collections_PropertySet).Get(),
&propertySetFactory);
if (FAILED(result))
{
return false;
}
result =
GetActivationFactory(HStringReference(RuntimeClass_Windows_Foundation_PropertyValue).Get(),
&propertyValueStatics);
if (FAILED(result))
{
return false;
}
result = GetActivationFactory(
HStringReference(RuntimeClass_Windows_ApplicationModel_Core_CoreApplication).Get(),
&coreApplication);
if (FAILED(result))
{
return false;
}
// Create a PropertySet to be used as the native window
result = propertySetFactory->ActivateInstance(&mNativeWindow);
if (FAILED(result))
{
return false;
}
// Get the PropertySet as a map, so we can Insert things into it later
ComPtr<IInspectable> tempNativeWindow = mNativeWindow;
result = tempNativeWindow.As(&nativeWindowAsMap);
if (FAILED(result))
{
return false;
}
// Get the CoreApplication properties
result = coreApplication->get_Properties(coreApplicationProperties.GetAddressOf());
if (FAILED(result))
{
return false;
}
// Get the CoreApplication properties as a map
result = coreApplicationProperties.As(&coreApplicationPropertiesAsMap);
if (FAILED(result))
{
return false;
}
// See if the application properties contain an EGLNativeWindowTypeProperty
boolean hasEGLNativeWindowTypeProperty;
result = coreApplicationPropertiesAsMap->HasKey(
HStringReference(EGLNativeWindowTypeProperty).Get(), &hasEGLNativeWindowTypeProperty);
if (FAILED(result))
{
return false;
}
// If an EGLNativeWindowTypeProperty is inputted then use it
if (hasEGLNativeWindowTypeProperty)
{
ComPtr<IInspectable> coreApplicationPropertyNativeWindow;
result = coreApplicationPropertiesAsMap->Lookup(
HStringReference(EGLNativeWindowTypeProperty).Get(),
&coreApplicationPropertyNativeWindow);
if (FAILED(result))
{
return false;
}
//.........这里部分代码省略.........