인터페이스(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 메서드를 통해 지정된 개체의 다른 인터페이스에 대한 포인터를 가져와 AddRef 및 Release 메서드를 통해 개체의 존재를 관리할 수 있도록 합니다. 다른 모든 COM 인터페이스는 IUnknown에서 직접 또는 간접적으로 상속됩니다. 따라서 IUnknown의 세 가지 메서드는 모든 인터페이스에 대한 VTable의 첫 번째 항목입니다. |