다음을 통해 공유


UssdSession.SendMessageAndGetReplyAsync(UssdMessage) 메서드

정의

USSD 세션에 메시지를 보내고 비동기적으로 회신을 검색하는 처리기를 반환합니다.

참고

이 기능은 모바일 네트워크 운영자가 권한 있는 액세스 권한을 부여받은 통신사 앱 및 UWP 앱에서만 사용할 수 있습니다.

이 API를 사용하고 앱을 Microsoft Store에 게시하려면 특별한 승인이 필요합니다. 자세한 내용은 앱 기능 선언 항목의 제한된기능 섹션을 참조하세요 .

public:
 virtual IAsyncOperation<UssdReply ^> ^ SendMessageAndGetReplyAsync(UssdMessage ^ message) = SendMessageAndGetReplyAsync;
IAsyncOperation<UssdReply> SendMessageAndGetReplyAsync(UssdMessage const& message);
public IAsyncOperation<UssdReply> SendMessageAndGetReplyAsync(UssdMessage message);
function sendMessageAndGetReplyAsync(message)
Public Function SendMessageAndGetReplyAsync (message As UssdMessage) As IAsyncOperation(Of UssdReply)

매개 변수

message
UssdMessage

USSD 세션으로 보낼 메시지입니다.

반환

보낸 메시지에 대한 USSD 응답을 검색하는 비동기 처리기입니다.

Windows 요구 사항

앱 기능
cellularDeviceControl cellularDeviceIdentity

설명

전송되는 USSD 메시지는 요청 또는 응답일 수 있습니다. 작업은 비동기적이며 완료 시 IAsyncOperation(UssdReply) 인터페이스를 사용하여 단일 콜백을 실행합니다. IAsyncOperation(UssdReply) 인터페이스를 사용하여 비동기 작업을 취소할 수 있습니다.

SendMessageAndGetReplyAsync의 C++ 프로젝션을 사용하는 애플리케이션이 해당 콜백 내에서 UssdSession 개체에 대한 마지막 참조를 해제하면 SendMessageAndGetReplyAsync가 중단될 수 있습니다. 따라서 애플리케이션은 SendMessageAndGetReplyAsync 내에서 콜백이 해제되지 않도록 해야 합니다. 이 작업을 수행하는 한 가지 방법은 완료 콜백이 세션 개체에 대한 참조를 전달하여 세션 개체를 해제하는 데 사용되는 콜백 내에서 다른 비동기 작업(예: 타이머)을 만드는 것입니다.

#include <winrt/Windows.System.Threading.h>
using namespace winrt;
using namespace Windows::System::Threading;
...
auto timerDelegate = [ussdSession](ThreadPoolTimer const& timer) {};
Windows::Foundation::TimeSpan delay{ std::chrono::seconds(1) };
ThreadPoolTimer timer{ ThreadPoolTimer::CreateTimer(TimerElapsedHandler(timerDelegate), delay) };
auto timerDelegate = [ussdSession](Windows::System::Threading::ThreadPoolTimer^ timer) {};
Windows::Foundation::TimeSpan delay;
delay.Duration = 1; // non-zero value
Windows::System::Threading::ThreadPoolTimer^ timer = 
Windows::System::Threading::ThreadPoolTimer::CreateTimer(ref new
Windows::System::Threading::TimerElapsedHandler(timerDelegate), delay);

적용 대상