인터페이스(COM)

COM에서 제공하는 인터페이스는 다음과 같습니다.

인터페이스 설명
IAccessControl 개체의 개체 및 속성에 대한 액세스를 관리할 수 있습니다.
IAgileObject 아파트 전체에서 인터페이스를 민첩한 것으로 표시합니다.
IBindCtx 특정 모니커 바인딩 작업에 대한 정보를 저장하는 개체인 바인딩 컨텍스트에 대한 액세스를 제공합니다.
IBlockingLock 파일과 같은 공유 리소스에 일시적으로 배타적인 액세스를 제공하는 데 사용할 수 있는 세마포를 제공합니다.
ICallFactory 비동기 인터페이스의 메서드에 대한 호출을 처리하기 위한 호출 개체를 만듭니다.
ICallFrame 스택 프레임과 같은 호출 프레임을 조작할 수 있습니다. 호출 프레임은 프로시저가 호출자에게 제대로 반환되도록 하기 위해 저장해야 하는 정보의 본문입니다. 호출 프레임은 스택 또는 레지스터에 있을 수 있습니다. 스택 프레임은 스택에서 호출자의 컨텍스트 정보를 유지 관리합니다.
ICallFrameEvents 메서드 호출 알림을 제공합니다.
ICallFrameWalker 흥미로운 값을 찾는 스택 프레임을 안내합니다.
ICallIndirect 기존의 직접 호출이 아닌 호출 인수에 대한 간접 참조를 사용하여 개체를 호출합니다.
ICallInterceptor 인터페이스에서 직접 호출을 알리려는 이벤트 싱크의 등록 및 등록 취소를 지원합니다. 또한 이 인터페이스는 호출 인수에 대한 간접 참조를 사용하여 호출을 수행할 수 있는 수단을 제공합니다.
ICallUnmarshal 원격 호출의 서버(수신) 쪽에서 사용됩니다. ICallUnmarshal의 적절한 instance 사용하여 이전에 클라이언트(전송) 쪽에서 ICallFrame::Marshal을 호출하여 마샬링한 메서드 호출을 호출 프레임으로 다시 변환할 수 있습니다.
ICancelMethodCalls 아웃바운드 메서드 호출에 대한 취소 요청을 관리하고 서버 스레드에서 해당 메서드 호출의 현재 상태를 모니터링합니다.
ICatInformation 특정 클래스에서 구현되거나 필요한 범주에 대한 정보와 지정된 컴퓨터에 등록된 범주에 대한 정보를 가져옵니다.
ICatRegister 레지스트리에서 구성 요소 범주 정보를 등록 및 등록 취소하는 메서드를 제공합니다. 여기에는 사람이 읽을 수 있는 범주 이름과 지정된 구성 요소 또는 클래스에서 구현/필요한 범주가 모두 포함됩니다.
IClassActivator 클래스 개체를 검색하는 메서드를 지정합니다.
IClassFactory 개체 클래스를 만들 수 있습니다.
IClassFactory2 모든 종류의 개체 서버에서 클래스 팩터리 개체가 라이선스를 통해 개체 생성을 제어할 수 있도록 합니다.
IClientSecurity 개체의 각 개별 인터페이스 프록시에 대한 보안 설정을 클라이언트에 제어할 수 있습니다.
IComThreadingInfo 호출자가 실행 중인 아파트 및 스레드에 대한 다음 정보를 얻을 수 있습니다. 아파트 유형, 스레드 유형 및 스레드 GUID. 또한 스레드 GUID를 지정할 수 있습니다.
IConnectionPoint 연결 가능한 개체에 대한 연결점을 지원합니다.
IConnectionPointContainer 연결 가능한 개체에 대한 연결점을 지원합니다.
IContext COM+ 컨텍스트 속성 설정을 지원합니다.
IContextCallback 특정 COM+ 개체 컨텍스트 내에서 함수를 실행하는 메커니즘을 제공합니다.
IContinueCallback 개체에 계속할지 여부를 주기적으로 요청해야 하는 인터럽트 가능한 프로세스에 대한 일반 콜백 메커니즘을 제공합니다.
IEnumCATID 범주 식별자를 열거합니다.
IEnumCLSID 클래스 식별자를 열거합니다.
IEnumCATEGORYINFO 시스템에 등록된 구성 요소 범주를 열거합니다.
IEnumConnectionPoints 연결점을 열거합니다.
IEnumConnections 연결 가능한 개체에 대한 현재 연결을 열거합니다.
IEnumContextProps COM+ 개체 컨텍스트와 연결된 컨텍스트 속성을 열거하는 메커니즘을 제공합니다.
IEnumGUID 클라이언트가 COM 클래스에 대한 클래스 ID 컬렉션을 열거할 수 있도록 합니다.
IEnumString 문자열을 열거합니다. LPWSTR 은 와이드 또는 유니코드 문자의 0으로 끝나는 문자열에 대한 포인터를 나타내는 형식입니다.
IEnumUnknown IUnknown 인터페이스를 사용하여 개체를 열거합니다. 여러 개체가 포함된 구성 요소의 개체를 열거하는 데 사용할 수 있습니다.
IEventProperty 명명된 이벤트 속성을 해당 값과 연결합니다.
IEventPublisher 이벤트 게시자에 대한 정보를 등록, 수정, 제거 및 제공합니다.
IExternalConnection 서버 개체의 마샬링된 연결 또는 외부 연결 수를 관리합니다. 이러한 개수를 유지하는 서버는 외부 연결이 없는 경우를 감지하고 순서대로 종료할 수 있습니다.
IFastRundown 인터페이스를 빠른 런다운 동작에 적합한 것으로 표시합니다.
IFileBasedLogInit ILog의 파일 기반 구현 instance 초기화합니다.
IForegroundTransfer 전경 창을 COM 서버를 호스트하는 프로세스로 전송합니다.
IGlobalInterfaceTable 프로세스의 모든 아파트가 프로세스의 다른 아파트의 개체에 구현된 인터페이스에 액세스할 수 있도록 합니다.
IGlobalOptions COM 런타임의 특정 전역 속성을 설정하고 쿼리합니다.
IInitializeSpy COM 아파트를 입력하거나 종료할 때 초기화 또는 정리를 수행합니다.
IInternalUnknown 프록시의 일부 내부 인터페이스에 액세스해야 하는 경량 클라이언트 쪽 처리기에서만 사용됩니다.
Ilog 일반 하위 수준 로깅 기능을 제공합니다.
IMalloc 메모리를 할당, 해제 및 관리합니다.
IMallocSpy 애플리케이션 개발자가 메모리 할당을 모니터링(감시)하고, 메모리 누수 검색, IMalloc 메서드 호출에서 메모리 오류를 시뮬레이션할 수 있습니다.
IMarshal COM 개체가 인터페이스 포인터의 마샬링을 정의하고 관리할 수 있도록 합니다.
IMarshalingStream 사용자 지정 마샬링된 개체 및 unmarshalers에 대한 마샬링 컨텍스트에 대한 추가 정보를 제공합니다.
IMessageFilter 동기 호출의 응답을 기다리는 동안 수신 및 발신 COM 메시지를 선택적으로 처리할 수 있는 기능을 COM 서버 및 애플리케이션에 제공합니다. 메시지를 필터링하면 호출이 성능을 향상시키고 교착 상태를 방지하는 방식으로 처리되도록 하는 데 도움이 됩니다. COM 메시지는 동기, 비동기 또는 입력 동기화일 수 있습니다. 대부분의 인터페이스 호출은 동기적입니다.
Imoniker COM 개체를 고유하게 식별하는 정보가 포함된 모니커 개체를 사용할 수 있습니다. 모니커 개체의 IMoniker 인터페이스에 대한 포인터가 있는 개체는 개체가 실제로 분산 시스템에 있는 위치에 대한 다른 특정 정보 없이 식별된 개체를 찾고 활성화하고 액세스할 수 있습니다.
IMultiQI 클라이언트가 단일 RPC 호출을 사용하여 여러 인터페이스에 대해 개체 프록시 또는 처리기를 쿼리할 수 있도록 합니다. 이 인터페이스를 사용하면 IUnknown::QueryInterface에 대한 별도의 호출에 의존하는 대신 클라이언트는 스레드, 프로세스 또는 컴퓨터 경계를 넘어야 하는 RPC 호출 수를 줄일 수 있으므로 요청된 인터페이스 포인터를 가져오는 데 필요한 시간을 줄일 수 있습니다.
IObjContext 컨텍스트에서 다양한 작업을 수행합니다.
IOleItemContainer 항목 모니커가 식별하는 개체에 바인딩할 때 사용됩니다.
IOrpcDebugNotify 원격 디버깅 기능을 제공합니다.
IParseDisplayName 표시 가능한 이름 문자열을 구문 분석하여 사용자 지정 모니커 구현을 위한 모니커로 변환합니다.
IPersist 시스템에 영구적으로 저장할 수 있는 개체의 CLSID를 제공합니다. 개체가 마샬링의 기본 구현에 사용되므로 클라이언트 프로세스에서 사용할 개체 처리기를 지정할 수 있습니다.
IPersistFile 스토리지 개체 또는 스트림이 아닌 디스크 파일에서 개체를 로드하거나 디스크 파일에 저장할 수 있도록 합니다.
IPersistStorage 컨테이너 애플리케이션이 포함된 개체 중 하나에 스토리지 개체를 전달하고 스토리지 개체를 로드하고 저장할 수 있도록 합니다.
IPersistStream 스토리지 요구 사항에 맞게 간단한 직렬 스트림을 사용하는 개체를 저장하고 로드할 수 있습니다.
IPersistStreamInit 초기화 메서드 를 추가하는 IPersistStream 을 대체하는 입니다.
IPipeByte 바이트 형식(너비 8비트)의 데이터를 전송합니다.
IPipeDouble double 형식(너비 64비트)의 데이터를 전송합니다.
IPipeLong 긴 정수 형식(너비 32비트)의 데이터를 전송합니다.
IProcessInitControl 프로세스 초기화 시간 제한 간격을 지정합니다.
IProcessLock ISurrogateService에서 시간 제한으로 인해 프로세스가 종료되지 않도록 하는 데 사용됩니다.
IProgressNotify 애플리케이션 및 기타 개체가 다운로드 작업 진행 중 변경 내용에 대한 알림을 받을 수 있도록 합니다.
IProvideClassInfo 형식 라이브러리에서 개체의 coclass 항목에 대한 형식 정보에 대한 액세스를 제공합니다.
IProvideClassInfo2 를 만드는 IProvideClassInfo 확장은 기본 이벤트 집합에 대한 개체의 나가는 인터페이스 IID를 더 빠르고 쉽게 검색할 수 있습니다.
IProvideMultipleClassInfo 동작을 결정하는 여러 코클래스가 있을 수 있는 구성 요소에서 형식 정보를 더 빠르고 쉽게 검색할 수 있도록 하는 IProvideClassInfo2 확장입니다.
IPSFactoryBuffer COM 개체 프록시 및 스텁을 만들기 위한 사용자 지정 메서드를 제공합니다. 이 인터페이스는 마샬링할 수 없습니다.
IROTData 모니커에 의해 구현되어 ROT(실행 중인 개체 테이블)가 모니커를 서로 비교할 수 있도록 합니다.
IRpcChannelBuffer COM 클라이언트 프록시와 COM 서버 스텁 간에 데이터를 마샬링합니다.
IRpcOptions 호출자가 COM이 RPC(원격 프로시저 호출)를 처리하는 방법을 제어하는 다양한 속성의 값을 설정하거나 쿼리할 수 있도록 합니다.
IRpcProxyBuffer COM 구성 요소 간에 데이터를 마샬링하는 데 사용되는 RPC 프록시를 제어합니다.
IRpcStubBuffer COM 구성 요소 간에 데이터를 마샬링하는 데 사용되는 RPC 스텁을 제어합니다.
IRunnableObject 컨테이너가 포함된 개체의 실행을 제어할 수 있도록 합니다. 로컬 서버로 구현된 개체의 경우 Run 메서드를 호출하면 서버의 .EXE 파일이 시작됩니다. In-process 서버로 구현된 개체의 경우 Run 을 호출하면 개체 .DLL 파일이 실행 중 상태로 전환됩니다.
IRunningObjectTable 각 워크스테이션에서 전역적으로 액세스할 수 있는 조회 테이블인 ROT(실행 중인 개체 테이블)에 대한 액세스를 관리합니다. 워크스테이션의 ROT는 모니커로 식별할 수 있고 현재 워크스테이션에서 실행 중인 개체를 추적합니다. 클라이언트가 모니커를 개체에 바인딩하려고 하면 모니커가 ROT를 확인하여 개체가 이미 실행 중인지 확인합니다. 이렇게 하면 모니커가 새 instance 로드하는 대신 현재 instance 바인딩할 수 있습니다.
IServerSecurity 서버에서 클라이언트를 인증하고 클라이언트의 가장을 관리하는 데 사용됩니다.
IStdMarshalInfo 표준 마샬링 중에 대상 프로세스에서 사용할 처리기를 식별하는 CLSID를 검색합니다.
ISurrogate 새 DLL 서버를 기존 서로게이트에 동적으로 로드하고 더 이상 필요하지 않은 경우 서로게이트를 해제하는 데 사용됩니다.
ISurrogateService COM+ 애플리케이션을 초기화, 시작 및 릴리스하는 데 사용됩니다. 카탈로그를 새로 고치고 프로세스를 종료할 수도 있습니다.
ISynchronize 이벤트 발생에 대한 개체 간의 비동기 통신을 제공합니다. ISynchronize를 구현하는 개체는 이벤트가 발생했음을 표시할 수 있으며 이벤트에 대한 쿼리에 응답할 수 있습니다. 이러한 방식으로 클라이언트는 첫 번째 요청의 완료에 따라 달라지는 후속 요청을 제출하기 전에 하나의 요청이 처리되었는지 확인할 수 있습니다.
ISynchronizeContainer 서명되지 않은 동기화 개체 그룹을 관리합니다.
ISynchronizeEvent 동기화 개체에 이벤트 핸들을 할당합니다.
ISynchronizeHandle 동기화 개체와 연결된 핸들을 검색합니다.
IUnknown 클라이언트가 QueryInterface 메서드를 통해 지정된 개체의 다른 인터페이스에 대한 포인터를 가져와 AddRefRelease 메서드를 통해 개체의 존재를 관리할 수 있도록 합니다. 다른 모든 COM 인터페이스는 IUnknown에서 직접 또는 간접적으로 상속됩니다. 따라서 IUnknown의 세 가지 메서드는 모든 인터페이스에 대한 VTable의 첫 번째 항목입니다.