애플리케이션에 Microsoft 에이전트 기능 추가
[Microsoft 에이전트는 Windows 7을 기준으로 더 이상 사용되지 않으며 이후 버전의 Windows에서는 사용할 수 없습니다.]
Microsoft 에이전트의 서버 인터페이스에 액세스하려면 대상 시스템에 에이전트가 이미 설치되어 있어야 합니다. 에이전트 구성 요소 파일 복사 및 등록 시도와 같은 에이전트의 자체 설치 실행 파일을 사용하는 것 외에는 설치가 지원되지 않습니다. 이렇게 하면 일관되고 완전한 설치가 보장됩니다. 이러한 버전의 운영 체제에는 이미 자체 버전의 에이전트가 포함되어 있으므로 Microsoft 에이전트 자체 설치 파일은 Microsoft Windows 2000 이상 운영 체제에 설치되지 않습니다.
이전 Microsoft Windows 운영 체제를 사용하여 대상 시스템에 에이전트를 성공적으로 설치하려면 대상 시스템에 최신 버전의 Microsoft Visual C++ 런타임(Msvcrt.dll), Microsoft 등록 도구(Regsvr32.dll) 및 Microsoft COM dll이 있는지 확인해야 합니다. 필요한 구성 요소가 대상 시스템에 있는지 확인하는 가장 쉬운 방법은 Microsoft Internet Explorer 3.02 이상을 설치해야 하는 것입니다. 또는 Microsoft Visual C++ 일부로 사용할 수 있는 처음 두 구성 요소를 설치할 수 있습니다. 필요한 COM dll은 Microsoft 웹 사이트에서 사용할 수 있는 Microsoft DCOM 업데이트의 일부로 설치할 수 있습니다. 이러한 구성 요소에 대한 추가 정보 및 라이선스 정보는 Microsoft 웹 사이트에서 찾을 수 있습니다.
에이전트의 언어 구성 요소는 동일한 방식으로 설치할 수 있습니다. 마찬가지로 이 기술을 사용하여 Microsoft 에이전트 웹 사이트에서 배포할 수 있는 Microsoft 문자의 ACS 형식을 설치할 수 있습니다. 문자 파일은 Microsoft 에이전트 \Chars 하위 디렉터리에 자동으로 설치됩니다.
Microsoft 에이전트의 구성 요소는 운영 체제 구성 요소로 설계되었기 때문에 에이전트가 제거되지 않을 수 있습니다. 마찬가지로 에이전트가 Windows 운영 체제의 일부로 이미 설치되어 있는 경우 에이전트 자체 설치 캐비닛이 설치되지 않을 수 있습니다.
설치되면 에이전트의 인터페이스를 호출하려면 서버의 instance 만들고 표준 COM 규칙을 사용하여 서버에서 지원하는 특정 인터페이스에 대한 포인터를 요청합니다. 특히 COM 라이브러리는 개체의 instance 만들고 개체의 요청된 인터페이스에 대한 포인터를 반환하는 API 함수 CoCreateInstance를 제공합니다. CoCreateInstance 호출 또는 QueryInterface에 대한 후속 호출에서 IAgent 또는 IAgentEx 인터페이스에 대한 포인터를 요청합니다.
다음 코드는 C/C++에서 이를 보여 줍니다.
hRes = CoCreateInstance(CLSID_AgentServer,
NULL,
CLSCTX_SERVER,
IID_IAgentEx,
(LPVOID *)&pAgentEx);
Microsoft 에이전트 서버가 실행 중인 경우 이 함수는 서버에 연결됩니다. 그렇지 않으면 서버가 시작됩니다.
Microsoft 에이전트 서버 인터페이스에는 종종 "Ex" 접미사가 포함된 확장된 인터페이스가 포함됩니다. 이러한 인터페이스는 에서 파생되므로 Ex가 아닌 인터페이스의 모든 기능을 포함합니다. 확장된 기능을 사용하려면 Ex 인터페이스를 사용합니다.
BSTR에 대한 포인터를 사용하는 함수는 SysAllocString을 사용하여 메모리를 할당합니다. SysFreeString을 사용하여 이 메모리를 해제하는 것은 호출자의 책임입니다.