Implementing Asynchronous Device Discovery
9/8/2008
O protocolo OBEX permite assíncrono descoberta dispositivo.
Para implementar assíncrono descoberta dispositivo
Instanciar um objeto IObex:IUnknown.
Criar uma instância e implementar um objeto IObexSink:IUnknown.
Fornecer um ponteiro para o IObexSink objeto para informar o IObex objeto, como segue:
- Consultar o Windows Embedded CE IConnectionPointContainer interface.
- Chame o método IConnectionPointContainer::FindConnectionPoint.
- Use o retornado IConnection valor para criar o ponteiro.
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.
Faça um do seguinte baseia o valor especificado para o Evento parâmetro:
- 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. - OE_DEVICE_UPDATE Para recuperar informações sobre o dispositivo, consulta para o remoto dispositivo IPropertyBag.
- 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.
Chamar o método IObex::StopDeviceEnum para parar o processo enumeração dispositivo em qualquer apontar.
Solte o objeto IObexSink::Notify quando o processo enumeração for concluído para que este objeto seja unadvised para o objeto IObex:IUnknown.