Skip to content

Latest commit

 

History

History
76 lines (51 loc) · 2.24 KB

com-map-global-functions.md

File metadata and controls

76 lines (51 loc) · 2.24 KB
description title ms.date f1_keywords helpviewer_keywords ms.assetid
Learn more about: COM Map Global Functions
COM Map Global Functions
11/04/2016
atlbase/ATL::AtlInternalQueryInterface
atlbase/ATL::InlineIsEqualIUnknown
COM interfaces, COM map global functions
b9612d30-eb23-46ef-8093-d56f237d3cf1

COM Map Global Functions

These functions provide support for COM Map IUnknown implementations.

Function Description
AtlInternalQueryInterface Delegates to the IUnknown of a nonaggregated object.
InlineIsEqualIUnknown Generates efficient code for comparing interfaces against IUnknown.

Requirements

Header: atlbase.h

AtlInternalQueryInterface

Retrieves a pointer to the requested interface.

HRESULT AtlInternalQueryInterface(
    void* pThis,
    const _ATL_INTMAP_ENTRY* pEntries,
    REFIID iid,
    void** ppvObject);

Parameters

pThis
[in] A pointer to the object that contains the COM map of interfaces exposed to QueryInterface.

pEntries
[in] An array of _ATL_INTMAP_ENTRY structures that access a map of available interfaces.

iid
[in] The GUID of the interface being requested.

ppvObject
[out] A pointer to the interface pointer specified in iid, or NULL if the interface is not found.

Return Value

One of the standard HRESULT values.

Remarks

AtlInternalQueryInterface only handles interfaces in the COM map table. If your object is aggregated, AtlInternalQueryInterface does not delegate to the outer unknown. You can enter interfaces into the COM map table with the macro COM_INTERFACE_ENTRY or one of its variants.

Example

[!code-cppNVC_ATL_Windowing#94]

InlineIsEqualIUnknown

Call this function, for the special case of testing for IUnknown.

BOOL InlineIsEqualUnknown(REFGUID rguid1);

Parameters

rguid1
[in] The GUID to compare to IID_IUnknown.

See also

Functions
COM Map Macros