Поделиться через


IDeviceAgentTransport::AcceptConnectionEx

Обновлен: Ноябрь 2007

Принимает подключение, инициированное при вызове метода CreatePacketStream на настольном компьютере. Затем чтобы выполнить передачу данных, метод подготавливает аргумент потока для пакета устройства.

HRESULT AcceptConnectionEx([full][in] LPCOLESTR in_szServiceId, [out] IDevicePacketStream **out_pDevicePacketStream)

Параметры

  • in_szServiceId
    Идентификатор службы, по которому принимается подключение.

  • out_pDevicePacketStream
    Указатель на объект потока для пакета устройства, который выполняет передачу данных.

Возвращаемое значение

Значение HRESULT, указывающее, каков результат вызова метода.

Заметки

Подключения могут приниматься только по идентификаторам служб, которые уже были зарегистрированы с помощью метода IDeviceAgentTransport::AcknowledgeLaunch.

Пример

В этом примере принимается запрос на создание потока пакетов из CreatePacketStream для приложения на настольном ПК. Полный пример см. в описании интерфейса IDeviceAgentTransport.

// Let the desktop application know that this remote agent was deployed successfully 
// and that this remote agent will handle the supplied list of services.
LPCOLESTR szServiceIds[] = {L"F85E57BA-5AE9-4FF7-8433-6AB7D991D033"};
pTransport->AcknowledgeLaunch(1, szServiceIds);

// Open a communcation stream with desktop application on the service.
IDevicePacketStream *pStream = NULL;
pTransport->AcceptConnectionEx(szServiceIds[0], &pStream);

// Get an instance of IPacket
GetNewPacketFunc f2 = (GetNewPacketFunc) ::  GetProcAddress(hmod, L"GetNewPacket");
IPacket *pPacket = NULL;
f2(&pPacket);

// Write a message and sent the packet.
pPacket->WriteBool(true);
pPacket->WriteByte(0xff);
pPacket->WriteChar('c');
pPacket->WriteInt32(1024);
pPacket->WriteString(L"Hello Desktop Computer");
pStream->Write(pPacket);

Управляемый эквивалент

IDeviceAgentTransport.AcceptConnectionEx

Требования

DeviceAgentTransport.h

См. также

Ссылки

IDeviceAgentTransport