MobileBroadbandDeviceServiceCommandSession.CommandReceived イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
セッションが開かれた後に MobileBroadbandDeviceServiceCommandSession オブジェクトのモバイル ブロードバンド デバイスから未承諾イベントを受信したときに発生します。
Note
この機能は、モバイル ネットワーク オペレーターによる特権アクセス権を持つモバイル オペレーター アプリと UWP アプリでのみ使用できます。
この API を使用してアプリを Microsoft Store に発行する場合は、特別な承認が必要です。 詳細については、「アプリ機能宣言」トピックの 「制限付き 機能」セクション を 参照してください。
// Register
event_token CommandReceived(TypedEventHandler<MobileBroadbandDeviceServiceCommandSession, MobileBroadbandDeviceServiceCommandEventArgs const&> const& handler) const;
// Revoke with event_token
void CommandReceived(event_token const* cookie) const;
// Revoke with event_revoker
MobileBroadbandDeviceServiceCommandSession::CommandReceived_revoker CommandReceived(auto_revoke_t, TypedEventHandler<MobileBroadbandDeviceServiceCommandSession, MobileBroadbandDeviceServiceCommandEventArgs const&> const& handler) const;
public event TypedEventHandler<MobileBroadbandDeviceServiceCommandSession,MobileBroadbandDeviceServiceCommandEventArgs> CommandReceived;
function onCommandReceived(eventArgs) { /* Your code */ }
mobileBroadbandDeviceServiceCommandSession.addEventListener("commandreceived", onCommandReceived);
mobileBroadbandDeviceServiceCommandSession.removeEventListener("commandreceived", onCommandReceived);
- or -
mobileBroadbandDeviceServiceCommandSession.oncommandreceived = onCommandReceived;
Public Custom Event CommandReceived As TypedEventHandler(Of MobileBroadbandDeviceServiceCommandSession, MobileBroadbandDeviceServiceCommandEventArgs)
イベントの種類
TypedEventHandler<MobileBroadbandDeviceServiceCommandSession,MobileBroadbandDeviceServiceCommandEventArgs>
Windows の要件
デバイス ファミリ |
Windows 11, version 24H2 (10.0.26100.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v19.0 で導入)
|
アプリの機能 |
cellularDeviceControl
|
例
using System;
using System.Threading;
using Windows.Foundation;
using Windows.Networking.NetworkOperators;
public class MobileBroadbandDeviceServiceCommandEventSample
{
private const string sampleServiceId = "abcdefg-1234-abcd-1234-abcd1234abcd";
private AutoResetEvent dsCommandReceivedEvent = new AutoResetEvent(false);
public void DeviceServiceCommandSessionCommandReceived()
{
var modem = MobileBroadbandModem.GetDefault();
if (modem == null)
{
// Handle the error.
return;
}
MobileBroadbandDeviceService sampleService = modem.GetDeviceService(new Guid(sampleServiceId));
if (sampleService == null)
{
// Handle the error.
return;
}
var commandSession = sampleService.OpenCommandSession();
commandSession.CommandReceived +=
new TypedEventHandler<MobileBroadbandDeviceServiceCommandSession,
MobileBroadbandDeviceServiceCommandEventArgs>(this.CommandReceivedHandler);
bool CommandReceived = dsCommandReceivedEvent.WaitOne(10000);
if (!CommandReceived)
{
// Handle the error.
}
commandSession.CommandReceived -= this.CommandReceivedHandler;
}
private void CommandReceivedHandler(MobileBroadbandDeviceServiceCommandSession sender,
MobileBroadbandDeviceServiceCommandEventArgs e)
{
if (e != null)
{
Console.WriteLine("Received device service event");
Console.WriteLine(" DeviceId: " + e.DeviceId);
Console.WriteLine(" DeviceServiceId: " + e.DeviceServiceId);
Console.WriteLine(" EventId: " + e.EventId);
Console.WriteLine(" Received data: " + e.ReceivedData);
dsCommandReceivedEvent.Set();
}
}
}
注釈
モバイル ブロードバンド デバイスを制御する NT サービスまたはユーザー モード ドライバーを開発している場合、このイベントを使用すると、デバイス サービス通知を受信して処理するフォアグラウンド イベント ハンドラーを実装できます。