ICustomQueryInterface Интерфейс

Определение

Предупреждение

Этот API устарел.

Позволяет разработчикам предоставлять собственную управляемую реализацию метода IUnknown::QueryInterface(REFIID riid, void **ppvObject).Enables developers to provide a custom, managed implementation of the IUnknown::QueryInterface(REFIID riid, void **ppvObject) method.

public interface class ICustomQueryInterface
[System.Runtime.InteropServices.ComVisible(false)]
[System.Obsolete("ICustomQueryInterface may be unavailable in future releases.")]
public interface ICustomQueryInterface
type ICustomQueryInterface = interface
Public Interface ICustomQueryInterface
Атрибуты

Комментарии

Этот класс позволяет опытным пользователям предоставлять настраиваемую управляемую реализацию QueryInterface метода.This class permits advanced users to provide a customized managed implementation of the QueryInterface method.

Управляемые и машинные приложения могут использовать пользовательскую реализацию для возврата определенного интерфейса для указанного идентификатора интерфейса, за исключением IID_IUnknown.Managed and native applications can use the customized implementation to return a specific interface for a specified interface ID, except for IID_IUnknown. То есть при QueryInterface вызове метода, если для riid параметра задано значение IID_IUnknown, пользовательские реализации будут игнорироваться.That is, when QueryInterface is called, it will ignore custom implementations if its riid parameter is set to IID_IUnknown. Тем не менее, можно по-прежнему возвращать IUnknown в качестве ppvObject.However, you may still return IUnknown as the ppvObject.

Разработчики могут предоставлять пользовательские реализации для всех интерфейсов (кроме IUnknown), если они определяют и реализуют допустимый соответствующий интерфейс.Developers can provide custom implementations for all interfaces (except for IUnknown) if they define and implement a valid corresponding interface.

Допустимый определяемый пользователем интерфейс имеет макет таблицы v, который точно соответствует неуправляемому интерфейсу COM, а его InterfaceTypeAttribute значение —. InterfaceIsIUnknownA valid user-defined interface has a v-table layout that matches the unmanaged COM interface exactly, and its InterfaceTypeAttribute is InterfaceIsIUnknown.

Методы

GetInterface(Guid, IntPtr)

Возвращает интерфейс, соответствующий указанному идентификатору интерфейса.Returns an interface according to a specified interface ID.

Применяется к