PeerFinder.DiscoveryData Eigenschaft
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.
Ruft Benutzer- oder Gerätedaten ab, die während der Geräteermittlung eingeschlossen werden sollen, oder legt diese fest.
public:
static property IBuffer ^ DiscoveryData { IBuffer ^ get(); void set(IBuffer ^ value); };
static IBuffer DiscoveryData();
static void DiscoveryData(IBuffer value);
public static IBuffer DiscoveryData { get; set; }
var iBuffer = PeerFinder.discoveryData;
PeerFinder.discoveryData = iBuffer;
Public Shared Property DiscoveryData As IBuffer
Eigenschaftswert
Benutzer- oder Gerätedaten, die während der Geräteermittlung eingeschlossen werden sollen. Muss kleiner als 32 Bytes sein.
Windows-Anforderungen
App-Funktionen |
proximity
|
Beispiele
// Default to the peer role.
Windows.Networking.Proximity.PeerRole appRole = Windows.Networking.Proximity.PeerRole.Peer;
bool launchedByTap = false;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
LaunchActivatedEventArgs launchArgs = e.Parameter as LaunchActivatedEventArgs;
if (launchArgs.Arguments.Contains("Windows.Networking.Proximity.PeerFinder:StreamSocket"))
{
launchedByTap = true;
if (launchArgs.Arguments.Contains("Role=Host"))
{
appRole = Windows.Networking.Proximity.PeerRole.Host;
}
else if (launchArgs.Arguments.Contains("Role=Client"))
{
appRole = Windows.Networking.Proximity.PeerRole.Client;
}
else
{
appRole = Windows.Networking.Proximity.PeerRole.Peer;
}
}
}
bool started = false;
// Click event for "Advertise" button.
void AdvertiseForPeers(object sender, RoutedEventArgs e)
{
if (!started)
{
Windows.Networking.Proximity.PeerFinder.DisplayName = DisplayNameTextBox.Text;
if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes &
Windows.Networking.Proximity.PeerDiscoveryTypes.Triggered) ==
Windows.Networking.Proximity.PeerDiscoveryTypes.Triggered)
{
Windows.Networking.Proximity.PeerFinder.TriggeredConnectionStateChanged +=
TriggeredConnectionStateChanged;
WriteMessageText("You can tap to connect a peer device that is " +
"also advertising for a connection.\n");
}
else
{
WriteMessageText("Tap to connect is not supported.\n");
}
if ((Windows.Networking.Proximity.PeerFinder.SupportedDiscoveryTypes &
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse) !=
Windows.Networking.Proximity.PeerDiscoveryTypes.Browse)
{
WriteMessageText("Peer discovery using Wi-Fi Direct is not supported.\n");
}
// Set the peer role selected by the user.
if (launchedByTap)
{
Windows.Networking.Proximity.PeerFinder.Role = appRole;
}
else
{
switch (GetRoleFromUser())
{
case "Peer":
Windows.Networking.Proximity.PeerFinder.Role =
Windows.Networking.Proximity.PeerRole.Peer;
break;
case "Host":
Windows.Networking.Proximity.PeerFinder.Role =
Windows.Networking.Proximity.PeerRole.Host;
break;
case "Client":
Windows.Networking.Proximity.PeerFinder.Role =
Windows.Networking.Proximity.PeerRole.Client;
break;
}
}
// Set discoveryData property with user supplied text.
var discData = GetDiscoveryDataFromUser();
var writer = new Windows.Storage.Streams.DataWriter(
new Windows.Storage.Streams.InMemoryRandomAccessStream());
writer.WriteString(discData);
Windows.Networking.Proximity.PeerFinder.DiscoveryData =
writer.DetachBuffer();
Windows.Networking.Proximity.PeerFinder.Start();
started = true;
}
}
// Write a message to MessageBlock on the UI thread.
private Windows.UI.Core.CoreDispatcher messageDispatcher = Window.Current.CoreWindow.Dispatcher;
async private void WriteMessageText(string message, bool overwrite = false)
{
await messageDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
() =>
{
if (overwrite)
MessageBlock.Text = message;
else
MessageBlock.Text += message;
});
}
Hinweise
Windows Phone 8.x-App: Diese Eigenschaft wird nicht unterstützt. Das Festlegen hat keine Auswirkung, und es werden keine Daten von dieser Eigenschaft auf einem Smartphone zurückgegeben.