Compartilhar via


Implementing Asynchronous Device Discovery

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

O protocolo OBEX permite assíncrono descoberta dispositivo.

Para implementar assíncrono descoberta dispositivo

  1. Instanciar um objeto IObex:IUnknown.

  2. Criar uma instância e implementar um objeto IObexSink:IUnknown.

  3. Fornecer um ponteiro para o IObexSink objeto para informar o IObex objeto, como segue:

    1. Consultar o Windows Embedded CE IConnectionPointContainer interface.
    2. Chame o método IConnectionPointContainer::FindConnectionPoint.
    3. Use o retornado IConnection valor para criar o ponteiro.
  4. Use o método IObex::StartDeviceEnum para iniciar dispositivo enumeração. O objeto IObexSink:IUnknown recebe uma notificação para cada atualização, de partida e chegada dispositivo.

    Quando um remoto dispositivo que ofereça suporte a OBEXenters o intervalo do local é o método IObexSink::Notify dispositivo, chamado. O método notifica o local dispositivo (local objeto IObex:IUnknown) da chegada do novo dispositivo.

    O IObexSink::Notify método especifica um do seguinte valores para o Evento parâmetro.

    Valor Descrição

    OE_DEVICE_ARRIVAL

    Um novo remoto dispositivo chegou no intervalo do local dispositivo.

    OE_DEVICE_DEPARTURE

    Um remoto listado anteriormente dispositivo deixou o intervalo do local dispositivo.

    O local deve dispositivo versão seu ponteiro para o remoto dispositivo e notificar o usuário a interface de usuário que o remoto dispositivo é não mais disponível.

    OE_DEVICE_UPDATE

    Um remoto dispositivo foi inicialmente localizado, mas não forneceu completo informações sobre si mesmo.

  5. Faça um do seguinte baseia o valor especificado para o Evento parâmetro:

    1. OE_DEVICE_ARRIVAL   Consulta para o remoto dispositivo IPropertyBag Para recuperar informações sobre o dispositivo, such as o identificação de classe do transporte e o nome do remoto dispositivo. IPropertyBag é fornecida pelo pUnk1 parâmetro para o método IObexSink::Notify.
      Para BIND o local dispositivo para o remoto dispositivo, chamar o método IObex::BindToDevice e transmitir a bolsa propriedade do remoto dispositivo para este método. IObex::BindToDevice Retorna um ponteiro, a forma de uma interface IObexDevice:IUnknown, para o remoto dispositivo. Chamar o método IObexDevice::Connect para conectar para o remoto dispositivo.
    2. OE_DEVICE_UPDATE   Para recuperar informações sobre o dispositivo, consulta para o remoto dispositivo IPropertyBag.
  6. Chamar o método IObex::StopDeviceEnum para parar o processo enumeração dispositivo em qualquer apontar.

  7. Solte o objeto IObexSink::Notify quando o processo enumeração for concluído para que este objeto seja unadvised para o objeto IObex:IUnknown.

See Also

Concepts

Discovering OBEX Devices

Other Resources

OBEX Application Development