WiFiDirectDevice Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Gerencia conexões com dispositivos Wi-Fi Direct associados.
public ref class WiFiDirectDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WiFiDirectDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WiFiDirectDevice : System.IDisposable
Public NotInheritable Class WiFiDirectDevice
Implements IDisposable
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;
private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
string result = "";
try
{
// No device Id specified.
if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi- Fi Direct device Id."; }
// Connect to the selected Wi-Fi Direct device.
wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);
if (wfdDevice == null)
{
result = "Connection to " + deviceId + " failed.";
}
// Register for connection status change notification.
wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);
// Get the EndpointPair information.
var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();
if (EndpointPairCollection.Count > 0)
{
var endpointPair = EndpointPairCollection[0];
result = "Local IP address " + endpointPair.LocalHostName.ToString() +
" connected to remote IP address " + endpointPair.RemoteHostName.ToString();
}
else
{
result = "Connection to " + deviceId + " failed.";
}
}
catch (Exception err)
{
// Handle error.
result = "Error occurred: " + err.Message;
}
return result;
}
private void OnConnectionChanged(object sender, object arg)
{
Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status =
(Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;
if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
{
// Connection successful.
}
else
{
// Disconnected.
Disconnect();
}
}
private void Disconnect()
{
if (wfdDevice != null)
{
wfdDevice.Dispose();
}
}
Comentários
Você pode usar a classe WiFiDirectDevice para estabelecer uma conexão de soquete com outros dispositivos que têm um dispositivo compatível com Wi-Fi Direct (WFD). Você pode chamar o método GetDeviceSelector para obter o identificador do dispositivo para um dispositivo Wi-Fi Direct. Depois de fazer referência a um WiFiDirectDevice em seu computador, você pode chamar o método GetConnectionEndpointPairs para obter um objeto EndpointPair e estabelecer uma conexão de soquete usando a API Windows.Networking.Sockets .
Você pode adicionar um manipulador para o evento ConnectionStatusChanged a ser notificado quando a conexão tiver sido estabelecida ou desconectada.
Somente um aplicativo pode ser conectado a um dispositivo Wi-Fi Direct por vez.
Você deve habilitar a funcionalidade proximidade para se comunicar com dispositivos Wi-Fi Direct.
Propriedades
ConnectionStatus |
Obtém o status de conexão para o dispositivo WiFi-Direct. |
DeviceId |
Obtém a ID de DeviceInformation para o dispositivo Wi-Fi Direct. |
Métodos
Close() |
Feche a conexão de dispositivo Wi-Fi Direct ativa. |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. |
FromIdAsync(String) |
Cria uma instância da classe WiFiDirectDevice para a ID da interface do dispositivo especificada. |
FromIdAsync(String, WiFiDirectConnectionParameters) |
Cria uma instância da classe WiFiDirectDevice para a ID de interface do dispositivo especificada com parâmetros de conexão específicos. |
GetConnectionEndpointPairs() |
Obtém uma coleção de endereços de rede para o dispositivo Wi-Fi Direct como pares de ponto de extremidade. |
GetDeviceSelector() |
Retorna a cadeia de caracteres de seleção de classe que você pode usar para enumerar Wi-Fi dispositivos Diretos. |
GetDeviceSelector(WiFiDirectDeviceSelectorType) |
Retorna a cadeia de caracteres de seleção de classe que você pode usar para enumerar Wi-Fi dispositivos Diretos para um tipo de seletor de dispositivo direto Wi-Fi específico. |
Eventos
ConnectionStatusChanged |
Ocorre quando uma conexão de dispositivo Wi-Fi Direct está conectada ou desconectada. |