다음을 통해 공유


서버 주석 사용

이 항목에서는 서버 주석을 사용하여 콜백 개체를 지정하는 방법에 대한 정보를 제공합니다.

콜백 개체를 지정하는 속성을 재정의하려면

  1. 주석을 추가할 액세스 가능한 요소에 대한 IAccessible 인터페이스 포인터를 가져옵니다.
  2. 액세스 가능한 요소에서 QueryInterface 를 호출하여 IAccIdentity 인터페이스 포인터를 가져옵니다.
  3. IAccIdentity 인터페이스 포인터에서 IAccIdentity::GetIdentityString()을 호출하여 주석을 추가할 액세스 가능한 요소를 고유하게 식별하는 문자열을 가져옵니다.
  4. CoCreateInstance 또는 CoCreateInstanceEx를 사용하여 IAccPropServices 개체를 만듭니다.
  5. IAccPropServer를 구현하는 COM(구성 요소 개체 모델) 개체를 만듭니다.
  6. IAccPropServices::SetPropServer를 호출하여 ID 문자열, 재정의할 속성을 나타내는 GUID 및 IAccPropServer 콜백 개체에 대한 포인터를 전달합니다.
  7. 인터페이스 포인터 및 사용 가능한 메모리를 해제합니다.

클라이언트가 액세스 가능한 요소의 속성을 요청하면 콜백 개체가 호출되고 값이 클라이언트에 반환됩니다.

값을 지정할 때와 마찬가지로 서버 개발자는 IAccPropServices::ComposeHwndIdentityString 메서드를 사용하여 ID 문자열을 가져올 수 있습니다. 또는 IAccPropServices::SetHwndPropServer 메서드를 사용하고 ID 문자열 대신 hwnd, idObject 또는 idChild 매개 변수를 지정할 수 있습니다.

컨테이너 개체에서 SetPropServer 또는 SetHwndPropServer 를 사용하는 경우 서버 개발자는 필요에 따라 재정의 정보가 해당 컨테이너의 모든 요소 자식에도 적용되도록 지정할 수 있습니다.

서버는 IAccPropServices::ClearProps를 사용하여 언제든지 주석을 명시적으로 지울 수 있습니다. 주석이 추가되는 액세스 가능한 요소가 사라지면 주석 서비스가 주석 정보를 자동으로 클린 해제하므로 이는 일반적으로 필요하지 않습니다.

다음은 이 절차를 사용하여 주석을 추가할 수 있는 속성 목록입니다.

콜백을 지정할 때 지원되는 속성

콜백을 지정할 때 다음 속성에 주석을 추가할 수 있습니다. 현재 이러한 속성은 값을 지정하여 직접 주석을 추가할 수 없습니다.

속성 형식
PROPID_ACC_NAME VT_BSTR
PROPID_ACC_DESCRIPTION VT_BSTR
PROPID_ACC_ROLE VT_I4
PROPID_ACC_STATE VT_I4
PROPID_ACC_HELP VT_BSTR
PROPID_ACC_KEYBOARDSHORTCUT VT_BSTR
PROPID_ACC_DEFAULTACTION VT_BSTR
PROPID_ACC_VALUEMAP VT_BSTR
PROPID_ACC_ROLEMAP VT_BSTR
PROPID_ACC_STATEMAP VT_BSTR
PROPID_ACC_FOCUS VT_DISPATCH
VT_I4
PROPID_ACC_SELECTION VT_DISPATCH
VT_I4
VT_UNKNOWN
PROPID_ACC_PARENT VT_DISPATCH
PROPID_ACC_NAV_UP VT_DISPATCH
VT_I4
PROPID_ACC_NAV_DOWN VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LEFT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_RIGHT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_PREV VT_DISPATCH
VT_I4
PROPID_ACC_NAV_NEXT VT_DISPATCH
VT_I4
PROPID_ACC_NAV_FIRSTCHILD VT_DISPATCH
VT_I4
PROPID_ACC_NAV_LASTCHILD VT_DISPATCH
VT_I4