Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este namespace contém tipos que fazem parte do lado do dispositivo da API do dispositivo inteligente conectividade.Gerenciado dispositivo SMART aplicativos que fazem referência e usar este espaço para nome são chamados de aplicativos para dispositivos do agente.Aplicativos de área de trabalho que usam API dispositivo SMART conectividade podem implantar os agentes do dispositivo para o dispositivo e se comunicar com eles por meio do intercâmbio de dados de pacote.Ao usar esta biblioteca, você programaticamente pode trocar dados entre o dispositivo e área de trabalho ao mesmo tempo, permite a API de conectividade dispositivo inteligente lidar com detalhes do dispositivo interconectividade e transporte de mecanismo.
Para usar Microsoft.SmartDevice.DeviceAgentTransport no seu dispositivo SMART projeto, execute as seguintes tarefas:
No seu projeto de dispositivo SMART, adicione uma referência ao assembly Microsoft.smartdevice.DeviceAgentTransport.dll (unidade: \programa Files\Common Files\Microsoft Shared\CoreCon\1.0\destino\Microsoft.smartdevice.DeviceAgentTransport.dll).
Implante a biblioteca nativa DeviceAgentTransport.dll (unidade: \programa Files\Common Files\Microsoft Shared\CoreCon\1.0\destino\wce400\cpu\DeviceAgentTransport.dll) e o conjunto de Microsoft.smartdevice.DeviceAgentTransport.dll gerenciado em dispositivo inteligente.
Para obter mais informações, consulte Controlar dispositivos com o dispositivo inteligente API de conectividade e Demonstra Passo a passo: Trocar dados entre a área de trabalho e aplicativos de dispositivo.
Observação: |
|---|
Para criar um agente de dispositivo usando o Visual C++, use Não gerenciado dispositivo-do Smart Device conectividade API. |
Classes
| Classe | Descrição | |
|---|---|---|
![]() |
DeviceAgentTransportFactory | Usado na obtenção de objetos que implementam IDeviceAgentTransport. |
![]() |
InteropUtils | Contém funções do utilitário para ajudar a interoperabilidade. |
![]() |
PacketFactory | Usado na obtenção de objetos que implementam IPacket. |
Interfaces
| Interface | Descrição | |
|---|---|---|
![]() |
IAgentTransportShutdownCallback | Define os métodos deve implementar um objeto de retorno de chamada de desligado. |
![]() |
IDeviceAgentTransport | Usado para se comunicar com um RemoteAgent no computador de mesa. |
![]() |
IDevicePacketStream | Troca dados com um conectado DevicePacketStream sobre o área de trabalho computador por leitura e gravação de objetos que implementam IPacket. |
![]() |
IPacket | Mantém os dados e é usado por objetos que implementam IDevicePacketStream transferência dados entre um dispositivo agente de aplicativo e um computador de mesa. |
Enumerações
| Enumeração | Descrição | |
|---|---|---|
![]() |
DataType | Indica o tipo de dados no Microsoft.SmartDevice.DeviceAgentTransport.IPacket. |
Exemplos
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SmartDevice.DeviceAgentTransport
Imports System.Windows.Forms
Class Program
<MTAThread()> _
Shared Sub Main(ByVal args() As String)
Dim serviceids(0 To 0) As String
serviceids(0) = "2FAD740C-B5D3-4ad0-BE23-5682503584BF"
' Get an instance of Device Agent Transport
Dim transport As IDeviceAgentTransport = _
DeviceAgentTransportFactory.GetAgentTransport()
' Register the callback object with the Device Agent Transport.
Dim shutdownCallback As New ShutdownCallback()
transport.RegisterShutdownCallback(shutdownCallback, shutdownCallback)
' Let the desktop application know that this device agent was deployed successfully
' and will handle the supplied list of service IDs.
transport.AcknowledgeLaunch(Convert.ToUInt32(serviceids.Length), serviceids)
' Open a communcation stream with desktop application on the service.
Dim packetStream As IDevicePacketStream
transport.AcceptConnectionEx(serviceids(0), packetStream)
Dim packet As IPacket
' Check for a packet while communication stream is connected.
While packetStream.IsConnected()
' If a packet is found, display the string and integer data.
If packetStream.IsPacketAvailable() Then
packetStream.Read(packet)
Dim sb As New StringBuilder()
While Not packet.IsEndOfPacket()
Select Case packet.ReadDataType()
Case DataType.BoolType
Dim boolValue As Boolean = packet.ReadBool()
Case DataType.ByteArrayType
' Read bytes and convert IntPtr to byte[]
Dim ptr As IntPtr
Dim size As System.UInt32 = 0
packet.ReadBytes(ptr, size)
Dim buffer As Byte() = InteropUtils.ConvertIntPtrToByteArray(ptr, _
Convert.ToInt32(size))
Case DataType.ByteType
Dim byteValue As Byte = packet.ReadByte()
Case DataType.CharType
Dim charValue As Char = packet.ReadChar()
Case DataType.Int32Type
sb.Append("Int32Type: " + packet.ReadInt32().ToString() + _
vbCr + vbLf)
Case DataType.StringType
sb.Append("String: " + packet.ReadString() + vbCr + vbLf)
Case Else
End Select
End While
MessageBox.Show(sb.ToString())
Exit While
End If
System.Threading.Thread.Sleep(1000)
End While
packet = PacketFactory.GetNewPacket()
' Write the version of .NET Compact Framework into the packet.
packet.WriteString("Hello Desktop Computer")
packet.WriteInt32(Environment.Version.Major)
packet.WriteInt32(Environment.Version.Minor)
packet.WriteInt32(Environment.Version.Build)
packet.WriteInt32(Environment.Version.Revision)
' Pass the packet to desktop application.
packetStream.Write(packet)
End Sub 'Main
End Class 'Program
' Define your own shutdown implementation
Class ShutdownCallback
Implements IAgentTransportShutdownCallback
Sub Shutdown(ByVal in_pUnknown As Object) _
Implements IAgentTransportShutdownCallback.Shutdown
' Insert cleanup code here
End Sub 'Shutdown
End Class 'ShutdownCallback
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SmartDevice.DeviceAgentTransport;
using System.Windows.Forms;
class Program
{
[MTAThread]
static void Main(string[] args)
{
string[] serviceids = { "2FAD740C-B5D3-4ad0-BE23-5682503584BF" };
// Get an instance of Device Agent Transport
IDeviceAgentTransport transport = DeviceAgentTransportFactory.GetAgentTransport();
// Register the callback object with the Device Agent Transport.
ShutdownCallback shutdownCallback = new ShutdownCallback();
transport.RegisterShutdownCallback(shutdownCallback, shutdownCallback);
// Let the desktop application know that this device agent was deployed successfully
// and will handle the supplied list of service IDs.
transport.AcknowledgeLaunch(Convert.ToUInt32(serviceids.Length), serviceids);
// Open a communcation stream with desktop application on the service.
IDevicePacketStream packetStream;
transport.AcceptConnectionEx(serviceids[0], out packetStream);
IPacket packet;
// Check for a packet while communication stream is connected.
while (packetStream.IsConnected())
{
// If a packet is found, display the string and integer data.
if (packetStream.IsPacketAvailable())
{
packetStream.Read(out packet);
StringBuilder sb = new StringBuilder();
while (!packet.IsEndOfPacket())
{
switch (packet.ReadDataType())
{
case DataType.BoolType:
bool boolValue = packet.ReadBool();
break;
case DataType.ByteArrayType:
// Read bytes and convert IntPtr to byte[]
IntPtr ptr;
uint size = 0;
packet.ReadBytes(out ptr, out size);
byte[] buffer = InteropUtils.ConvertIntPtrToByteArray(ptr,
Convert.ToInt32(size));
break;
case DataType.ByteType:
byte byteValue = packet.ReadByte();
break;
case DataType.CharType:
char charValue = packet.ReadChar();
break;
case DataType.Int32Type:
sb.Append("Int32Type: " + packet.ReadInt32().ToString() + "\r\n");
break;
case DataType.StringType:
sb.Append("String: " + packet.ReadString() + "\r\n");
break;
default:
break;
}
}
MessageBox.Show(sb.ToString());
break;
}
System.Threading.Thread.Sleep(1000);
}
packet = PacketFactory.GetNewPacket();
// Write the version of .NET Compact Framework into the packet.
packet.WriteString("Hello Desktop Computer");
packet.WriteInt32(Environment.Version.Major);
packet.WriteInt32(Environment.Version.Minor);
packet.WriteInt32(Environment.Version.Build);
packet.WriteInt32(Environment.Version.Revision);
// Pass the packet to desktop application.
packetStream.Write(packet);
}
}
// Define your own shutdown implementation
class ShutdownCallback : IAgentTransportShutdownCallback
{
public void Shutdown(object in_pUnknown)
{
// Insert cleanup code here
}
}
Consulte também
Referência
Outros recursos
Controlar dispositivos com o dispositivo inteligente API de conectividade
Observação:.gif)
.gif)
.gif)