IMessengerServices::Item
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
Retrieves a specific service by index. Scriptable.
Syntax
HRESULT Item(
[in] long Index,
[out,
retval] IDispatch** ppService
);
Parameters
- Index
[in] LONG that specifies the index of the desired IMessengerServices object in the collection.
- ppService
[out, retval] Address of a pointer to an IDispatch interface on a IMessengerServices object requested with Index. The object can now be accessed through the IMessengerServices interface.
Return Value
Returns one of the following values. For managed code applications, these return values are received in the form of a COMException.
- S_OK
Success.
- E_FAIL
The invalid collection or index number provided exceeds the length of the collection.
- RPC_X_NULL_REF_POINTER
ppService is a null pointer.
- E_INVALIDARG
Index is not a positive integer.
Remarks
The service collection object is a zero-based array of IMessengerService objects. Therefore, passing 0 as a parameter to the Item method returns the first object in the collection.
If you know the name for that specific service, you can get the IMessengerServices object by creating an object for it explicitly by calling IMessengerService::ServiceName method. Even if that service is already present in a list, the same pointer is returned as it would have been by retrieving that object from an existing collection.
Example
The following code example examines the IMessenger::Services property on the IMessenger object, communicator, to get a collection of Communicator services. If the collection is not null and holds at least one service, the code instantiates an IMessengerService object. The ServiceName property of the service is displayed in the application console window.
IMessengerServices serviceCollection;
serviceCollection = (IMessengerServices)communicator.Services;
if (serviceCollection.Count > 0 && serviceCollection != null)
{
try
{
IMessengerService firstService = (IMessengerService)serviceCollection.Item(0);
Console.WriteLine(firstService.ServiceName);
}
catch (COMException SCCE)
{
Console.WriteLine("COM Exception " + SCCE.ErrorCode.ToString());
}
}
Requirements
- Client
Requires Microsoft DirectX 9.0, C Runtime libraries (msvcm80.dll) on Microsoft Windows© Vista, Microsoft Windows XP Service Pack 1 (SP1) or later, or Microsoft Windows 2000 with Service Pack 4 (SP4). Any Communicator-imposed restrictions apply. .
- Server
Requires Microsoft Office Communications Server 2007, AV MCU (for Media Support), Media Relay (for NAT/Firewall traversal) on Microsoft Office Communications Server 2007.
- Product
Microsoft Office Communicator 2007 Automation API
- IDL file
Msgrua.idl