COM 및 .Net(Windows) com_get_active_object
(PHP 5, PHP 7, PHP 8)
com_get_active_object — COM 개체의 이미 실행 중인 인스턴스에 대한 핸들을 반환합니다.
설명
com_get_active_object(string $prog_id
, ?int $codepage
= null
): variant
com_get_active_object()는 개체가 이미 실행 중인 경우에만 스크립트에 개체를 반환한다는 점을 제외하고 com 개체의 새 인스턴스를 만드는 것과 유사합니다. OLE 응용 프로그램은 잘 알려진 응용 프로그램을 한 번만 시작할 수 있도록 "Running Object Table
"이라는 것을 사용합니다. 이 함수는 실행 중인 인스턴스에 대한 핸들을 얻기 위해 COM 라이브러리 함수 GetActiveObject()를 노출합니다.
매개변수
prog_id
prog_id
는 액세스하려는 개체의 ProgID 또는 CLSID여야 합니다(예:Word.Application
).codepage
- com 클래스에 대해 수행하는 것과 정확히 동일한 방식으로 작동합니다.
반환 값
요청된 개체가 실행 중이면 다른 COM 개체와 마찬가지로 스크립트에 반환됩니다.
오류/예외
이 함수가 실패하는 데에는 여러 가지 이유가 있으며 가장 일반적인 것은 개체가 이미 실행되고 있지 않기 때문입니다. 이 상황에서 예외 오류 코드는 MK_E_UNAVAILABLE
이 됩니다. 예외 객체의 getCode
메소드를 사용하여 예외 코드를 확인할 수 있습니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | codepage 는 이제 nullable입니다. |
메모
경고 웹 서버 컨텍스트에서 com_get_active_object()를 사용하는 것이 항상 현명한 생각은 아닙니다. 대부분의 COM/OLE 응용 프로그램은 Microsoft Office를 포함하여 둘 이상의 클라이언트를 동시에 처리하도록 설계되지 않았습니다. 관련된 일반적인 문제에 대한 자세한 내용은 » Office의 서버 측 자동화 고려 사항을 읽어야 합니다.