WiFiDirectDevice Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwaltet Verbindungen mit zugeordneten Wi-Fi Direct-Geräten.
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
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Beispiele
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();
}
}
Hinweise
Sie können die WiFiDirectDevice-Klasse verwenden, um eine Socketverbindung mit anderen Geräten herzustellen, die über ein Wi-Fi Direct(WFD)-fähiges Gerät verfügen. Sie können die GetDeviceSelector-Methode aufrufen, um den Gerätebezeichner für ein Wi-Fi Direct-Gerät abzurufen. Sobald Sie einen Verweis auf ein WiFiDirectDevice auf Ihrem Computer haben, können Sie die GetConnectionEndpointPairs-Methode aufrufen, um ein EndpointPair-Objekt abzurufen und mithilfe der Windows.Networking.Sockets-API eine Socketverbindung herzustellen.
Sie können einen Handler für das ConnectionStatusChanged-Ereignis hinzufügen, der benachrichtigt wird, wenn die Verbindung hergestellt oder getrennt wurde.
Nur eine App kann gleichzeitig mit einem Wi-Fi Direct-Gerät verbunden werden.
Sie müssen die Näherungsfunktion aktivieren, um mit Wi-Fi Direct-Geräten zu kommunizieren.
Eigenschaften
ConnectionStatus |
Ruft die status Verbindung für das WiFi-Direct-Gerät ab. |
DeviceId |
Ruft die DeviceInformation-ID für das Wi-Fi Direct-Gerät ab. |
Methoden
Close() |
Schließen Sie die aktive Wi-Fi Direkte Geräteverbindung. |
Dispose() |
Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. |
FromIdAsync(String) |
Erstellt eine instance der WiFiDirectDevice-Klasse für die angegebene Geräteschnittstellen-ID. |
FromIdAsync(String, WiFiDirectConnectionParameters) |
Erstellt eine instance der WiFiDirectDevice-Klasse für die angegebene Geräteschnittstellen-ID mit bestimmten Verbindungsparametern. |
GetConnectionEndpointPairs() |
Ruft eine Auflistung von Netzwerkadressen für das Wi-Fi Direct-Gerät als Endpunktpaare ab. |
GetDeviceSelector() |
Gibt die Klassenauswahlzeichenfolge zurück, die Sie verwenden können, um Wi-Fi Direct-Geräte aufzulisten. |
GetDeviceSelector(WiFiDirectDeviceSelectorType) |
Gibt die Klassenauswahlzeichenfolge zurück, die Sie verwenden können, um Wi-Fi Direct-Geräte für einen bestimmten Wi-Fi Geräteauswahltyp Direct aufzulisten. |
Ereignisse
ConnectionStatusChanged |
Tritt auf, wenn eine Wi-Fi Direkte Geräteverbindung verbunden oder getrennt ist. |