MobileBroadbandDeviceServiceCommandSession.CommandReceived 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
세션을 연 후 MobileBroadbandDeviceServiceCommandSession 개체의 모바일 광대역 디바이스에서 원치 않는 이벤트를 수신할 때 발생합니다.
참고
이 기능은 모바일 네트워크 운영자가 권한 있는 액세스 권한을 부여받은 통신사 앱 및 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 서비스 또는 사용자 모드 드라이버를 개발하는 경우 이 이벤트를 사용하면 포그라운드 이벤트 처리기를 구현하여 디바이스 서비스 알림을 받고 처리할 수 있습니다.