Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit scenario maakt de server een nieuw toegankelijk object als reactie op elke OBJID_CLIENT aanvraag.
In de volgende voorbeeldcode wordt een aanwijzer naar het besturingselement opgehaald uit de extra venstergegevens. Deze en de venstergreep worden doorgegeven aan de constructor van het object aangepaste toegankelijkheidsserver (AccServer). Dit object wordt gemaakt wanneer OBJID_CLIENT wordt ontvangen.
Wanneer het object wordt gemaakt, verkrijgt de server een verwijzing, die moet worden vrijgegeven na het aanroepen van LresultFromObject, zodat het object wordt vernietigd zodra de client ermee klaar is. Houd er rekening mee dat LresultFromObject het aantal verwijzingen meerdere keren verhogen, maar het is de verantwoordelijkheid van clienttoepassingen en de Microsoft Active Accessibility Runtime om deze verwijzingen vrij te geven.
case WM_GETOBJECT:
{
// Return the IAccessible object.
if ((DWORD)lParam == OBJID_CLIENT)
{
// Get the control.
CustomListControl* pCustomList = (CustomListControl*)(LONG_PTR)GetWindowLongPtr(hwnd, 0);
AccServer* pAccServer = new AccServer(hwnd, pCustomList);
if (pAccServer != NULL) // NULL if out of memory.
{
LRESULT Lresult = LresultFromObject(IID_IAccessible, wParam, pAccServer);
pAccServer->Release();
return Lresult;
}
else return 0;
}
break;
}