winrt 네임스페이스(C++/WinRT)

winrt 네임스페이스는 C++/WinRT에 속하는 사용자 지정 데이터 형식(WinRT(Windows 런타임) API에 대한 표준 최신 C++17 언어 프로젝션을 제공합니다. 이러한 사용자 지정 형식은 표준 형식에 대한 적절한 변환을 제공하므로 대부분의 경우 사용하는 데 익숙한 표준 C++ 언어 기능과 이미 있는 소스 코드를 계속 사용할 수 있습니다.

또한 winrt 네임스페이스에는 함수(런타임 클래스 인스턴스 만들기, boxing 및 unboxing 등), 스마트 포인터 및 기타 기능이 제공됩니다.

winrt 네임스페이스의 형식

Type 설명
agile_ref 구조체 템플릿 C++/WinRT 개체 또는 인터페이스에 대한 민첩한 참조를 나타내는 형식입니다.
apartment_context 구조체 나중에 복원할 수 있도록 코루틴 내에서 스레드 컨텍스트를 캡처합니다.
array_view 구조체 템플릿 연속된 일련의 값에 대한 보기 또는 범위입니다.
auto_revoke_t 마커 구조체 이벤트를 처리하기 위해 대리자를 등록할 때 이벤트 해지를 요청하는 데 사용되는 표식 형식입니다.
은폐된 표식 구조체 템플릿 IInspectable::GetIids에서 구현된 인터페이스를 보고해서는 안 됨을 나타내는 데 사용되는 표식 형식입니다.
clock 구조체 Windows::Foundation::D ateTime(즉, std::chrono::time_point)을 winrt::file_time 간 및 time_t 변환하기 위한 정적 도우미 함수를 포함하는 형식입니다.
com_array 구조체 템플릿 Windows 런타임 API를 오가는 연속된 일련의 값에 대한 보기 또는 범위입니다.
com_ptr 구조체 템플릿 참조 계산 COM 스마트 포인터 템플릿입니다.
구성 가능한 표식 구조체 형식이 구성 가능한 클래스의 내부 클래스일 수 있음을 나타내는 데 사용되는 표식 형식입니다.
표식 구조체 작성 형식이 작성 가능한 클래스의 외부 클래스임을 나타내는 데 사용되는 표식 형식입니다.
deferrable_event_args 지연 가능한 이벤트 패턴을 구현(생성)하는 데 사용할 수 있는 형식입니다.
delegate 구조체 템플릿 사용자 고유의 이벤트에 대한 사용자 지정 대리자 형식을 선언하는 데 사용할 수 있는 형식입니다.
event 구조체 템플릿 지정된 대리자 형식의 이벤트를 선언하고 구현하는 데 사용할 수 있는 형식입니다.
event_revoker 구조체 템플릿 대리자를 등록할 때 대리자를 자동으로 또는 수동으로 해지하는 데 사용할 수 있는 이벤트 해지를 요청할 수 있습니다.
event_token 구조체 이벤트 처리 대리자를 이벤트에 등록할 때 반환되는 토큰입니다. 는 동일한 대리자의 등록을 취소하는 데 사용할 수 있습니다.
file_handle 구조체 Windows 파일 핸들 개체를 나타냅니다.
fire_and_forget 구조체 이 반환 형식을 사용하여 코루틴을 불망망으로 만듭니다.
guid 구조체 GUID(Globally Unique Identifier)를 나타냅니다.
handle 구조체 Windows 핸들 개체를 나타냅니다.
handle_type 구조체 템플릿 winrt::handlewinrt::file_handle 구조체에 대한 템플릿입니다.
hstring 구조체 텍스트 문자열을 나타내는 UTF-16 유니코드 문자의 순차적 컬렉션입니다.
hresult_access_denied 구조체 E_ACCESSDENIED HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
hresult_canceled 구조체 ERROR_CANCELLED HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
hresult_changed_state 구조체 winrt::hresult_error 파생된 형식으로, E_CHANGED_STATE HRESULT 오류 코드를 나타냅니다.
hresult_class_not_available 구조체 winrt::hresult_error 파생된 형식으로, CLASS_E_CLASSNOTAVAILABLE HRESULT 오류 코드를 나타냅니다.
hresult_error 구조체 HRESULT 오류 코드를 나타내는 형식입니다.
hresult_illegal_delegate_assignment 구조체 E_ILLEGAL_DELEGATE_ASSIGNMENT HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
hresult_illegal_method_call 구조체 winrt::hresult_error 파생된 형식으로, E_ILLEGAL_METHOD_CALL HRESULT 오류 코드를 나타냅니다.
hresult_illegal_state_change 구조체 winrt::hresult_error 파생된 형식으로, E_ILLEGAL_STATE_CHANGE HRESULT 오류 코드를 나타냅니다.
hresult_invalid_argument 구조체 E_INVALIDARG HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
hresult_no_interface 구조체 winrt::hresult_error 파생된 형식으로, E_NOINTERFACE HRESULT 오류 코드를 나타냅니다.
hresult_not_implemented 구조체 E_NOTIMPL HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
hresult_out_of_bounds 구조체 winrt::hresult_error 파생된 형식으로, E_BOUNDS HRESULT 오류 코드를 나타냅니다.
hresult_wrong_thread 구조체 RPC_E_WRONG_THREAD HRESULT 오류 코드를 나타내는 winrt::hresult_error 파생된 형식입니다.
implements 구조체 템플릿 파생 형식을 대신하여 하나 이상의 Windows 런타임 인터페이스를 구현하는 기본 구조체 템플릿입니다.
map_base 구조체 템플릿 관찰할 수 없는 결합 컬렉션을 나타내는 에서 파생되는 기본 클래스입니다.
map_view_base 구조체 템플릿 파생할 기본 클래스로, 결합 컬렉션의 연속된 요소 시퀀스 보기를 나타냅니다.
no_module_lock 표식 구조체 형식의 인스턴스가 모듈 개체 수에 포함되지 않음을 나타내는 데 사용되는 표식 형식입니다.
no_weak_ref 마커 구조체 약한 참조 지원을 옵트아웃하는 데 사용되는 표식 형식입니다.
non_agile 마커 구조체 형식이 Agile이 아니고 결과적으로 IAgileObject 인터페이스를 구현하지 않음을 나타내는 데 사용되는 표식 형식입니다.
observable_map_base 구조체 템플릿 관찰 가능한 결합 컬렉션을 나타내는 에서 파생할 기본 클래스입니다.
observable_vector_base 구조체 템플릿 관찰 가능한 벡터를 나타내는 에서 파생할 기본 클래스입니다.
static_lifetime 마커 구조체 정적 수명에 정적 팩터리를 옵트인하는 데 사용되는 표식 형식입니다.
vector_base 구조체 템플릿 벡터라고 하는 관찰할 수 없는 범용 컬렉션을 나타내는 기본 클래스입니다.
vector_view_base 구조체 템플릿 범용 컬렉션에서 연속된 요소 시퀀스의 고유한 사용자 지정 보기 또는 범위를 구현하기 위해 파생할 수 있는 기본 클래스입니다.
weak_ref 구조체 템플릿 C++/WinRT 개체 또는 인터페이스에 대한 약한 참조를 나타내는 형식입니다.
Windows::Foundation::IUnknown 구조체 모든 C++/WinRT 런타임 클래스(Windows 또는 타사 런타임 클래스)는 winrt::Windows::Foundation::IUnknown에서 파생됩니다.

winrt 네임스페이스의 함수

함수 설명
attach_abi 함수 C++/WinRT 개체를 핸들 또는 대상에 대한 참조를 소유하는 원시 포인터에 연결하는 도우미 함수입니다.
box_value 함수 템플릿 IInspectable이 필요한 함수에 전달될 수 있도록 참조 클래스 개체 내에서 스칼라 또는 배열 값을 래핑(또는 상자)하는 함수 템플릿입니다.
capture 함수 템플릿 지정된 함수 또는 메서드를 호출하고 결과 인터페이스 포인터를 캡처한 다음 winrt::com_ptr 반환하는 함수 템플릿입니다.
check_bool 함수 템플릿 값이 false인지 확인하고 이 경우 호출 스레드의 마지막 오류 코드 값을 검색하고 해당 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
check_hresult 함수 HRESULT 코드가 오류를 나타내는지 여부를 확인하고, 그렇다면 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
check_nt 함수 템플릿 코드가 오류를 나타내는지 여부를 확인하고 이 경우 오류 코드의 NT 상태 값을 HRESULT 값에 매핑하고 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
check_pointer 함수 템플릿 포인터가 null인지 여부를 확인하고 이 경우 호출 스레드의 마지막 오류 코드 값을 검색하고 해당 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
check_win32 함수 템플릿 코드가 오류를 나타내는지 여부를 확인하고, 이 경우 값의 시스템 오류 코드를 HRESULT 값에 매핑하고 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
copy_from_abi 함수 핸들 또는 원시 포인터에서 C++/WinRT 개체에 복사하는 도우미 함수입니다.
copy_to_abi 함수 핸들 또는 C++/WinRT 개체의 포인터로 복사하는 도우미 함수입니다.
create_instance 함수 템플릿 지정된 CLSID와 연결된 클래스의 초기화되지 않은 단일 개체를 만들고 winrt::com_ptr 반환하거나 성공하지 못하면 throw하는 함수 템플릿입니다.
detach_abi 함수 C++/WinRT 개체를 참조된 핸들 또는 참조된 인터페이스에서 분리하는 도우미 함수입니다.
from_abi 함수 템플릿 프로젝터 형식의 개체가 지정된 경우 구현에 대한 포인터를 검색하는 도우미 함수입니다.
get_abi 함수 C++/WinRT 개체의 기본 IUnknown 인터페이스에 대한 포인터를 검색하는 도우미 함수입니다.
get_activation_factory 함수 템플릿 지정된 Windows 런타임 클래스 형식에 대한 활성화 팩터리를 검색하는 도우미 함수입니다.
get_cancellation_token 함수 코루틴에서 winrt::get_cancellation_token 반환된 개체를 사용하여 취소를 폴링하거나 응답합니다.
get_class_name 함수 지정된 Windows 런타임 클래스의 정규화된 형식 이름을 포함하는 문자열을 검색하는 도우미 함수입니다.
get_interfaces 함수 C++/WinRT 개체에 의해 구현되는 인터페이스의 식별자가 포함된 배열을 검색하는 도우미 함수입니다.
get_progress_token 함수 코루틴에서 winrt::get_progress_token 반환된 개체를 사용하여 진행률 처리기에 진행률을 다시 보고합니다.
get_self 함수 템플릿 프로젝터 형식의 개체가 지정된 경우 구현에 대한 포인터를 검색하는 도우미 함수입니다.
get_trust_level 함수 C++/WinRT 개체의 신뢰 수준을 검색하는 도우미 함수입니다.
get_unknown 함수 프로젝션된 형식의 개체에 대한 기본 원시 IUnknown 인터페이스 의 주소를 반환하는 도우미 함수입니다.
guid_of 함수 템플릿 런타임 클래스, coclass 또는 인터페이스의 GUID를 검색하는 도우미 함수 템플릿입니다.
is_guid_of 함수 템플릿 제공된 GUID가 지정된 런타임 클래스, 코클래스 또는 인터페이스 중 하나의 GUID인지 여부를 결정하는 도우미 함수 템플릿입니다.
make 함수 템플릿 해당 구현 형식으로 매개 변수화될 때 프로젝션된 형식 또는 인터페이스의 instance 반환하는 팩터리 메서드입니다.
make_agile 함수 템플릿 C++/WinRT 개체 또는 인터페이스에 대한 민첩한 참조를 나타내는 agile_ref 개체를 반환하는 도우미 함수입니다.
make_self 함수 템플릿 런타임 클래스에 대한 구현 형식의 instance com_ptr 반환하는 팩터리 메서드입니다.
make_weak 함수 템플릿 C++/WinRT 개체 또는 인터페이스에 대한 약한 참조를 나타내는 weak_ref 개체를 반환하는 도우미 함수입니다.
name_of 함수 템플릿 특정 Windows 런타임 클래스의 정규화된 형식 이름을 포함하는 문자열 뷰를 검색하는 도우미 함수입니다.
put_abi 함수 다른 값으로 설정할 수 있도록 C++/WinRT 개체의 기본 IUnknown 인터페이스 포인터의 주소를 검색하는 도우미 함수입니다.
resume_after 함수 호출자에게 컨트롤을 반환한 다음 지연 후 스레드 풀 스레드에서 실행을 다시 시작하는 도우미 함수입니다.
resume_background 함수 호출자에게 컨트롤을 반환하고 스레드 풀 스레드에서 실행을 다시 시작하는 도우미 함수입니다.
resume_foreground 함수 코루틴 내에서 사용하기 위한 도우미 함수로, 실행을 특정 포그라운드 스레드로 전환할 수 있습니다 co_await .
resume_on_signal 커널 이벤트가 신호를 보낼 때까지 일시 중단하는 데 사용할 수 있는 함수입니다.
single_threaded_map 함수 템플릿 관찰할 수 없는 결합 컬렉션(맵)을 구현하는 형식의 개체를 만들고 반환하는 함수 템플릿입니다. 개체가 IMap으로 반환됩니다.
single_threaded_observable_map 함수 템플릿 관찰 가능한 결합 컬렉션(맵)을 구현하는 형식의 개체를 만들고 반환하는 함수 템플릿입니다. 개체는 IObservableMap으로 반환됩니다.
single_threaded_observable_vector 함수 템플릿 관찰 가능한 컬렉션을 구현하는 형식의 개체를 만들고 반환하는 함수 템플릿입니다. 개체가 IObservableVector로 반환됩니다.
single_threaded_vector 함수 템플릿 범용 컬렉션을 구현하는 형식의 개체를 만들고 반환하는 함수 템플릿입니다. 개체가 IVector로 반환됩니다.
swap 함수 두 값의 내용을 교환하는 도우미 함수입니다.
throw_hresult 함수 HRESULT 오류 코드를 사용하고 해당 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
throw_last_error 함수 호출 스레드의 마지막 오류 코드 값을 검색하고 해당 오류 코드를 나타내는 C++/WinRT 개체를 사용하여 예외를 throw하는 도우미 함수입니다.
to_hresult 함수 catch 블록에서 사용하기 위해 마지막으로 throw된 예외를 HRESULT 오류 코드로 바꾸는 도우미 함수입니다.
to_hstring 함수 입력 값을 값의 문자열 표현을 포함하는 winrt::hstring 으로 변환하는 도우미 함수입니다.
to_string 함수 입력 와이드 문자열을 UTF-8 좁은 문자열을 포함하는 std::string 으로 변환하는 도우미 함수입니다.
try_capture 함수 템플릿 지정된 함수 또는 메서드를 호출하고, 함수 또는 메서드에서 출력되는 인터페이스 포인터를 캡처하고, 성공하지 못한 경우 winrt::com_ptr 또는 빈 com_ptr 반환하는 함수 템플릿입니다.
try_create_instance 함수 템플릿 지정된 CLSID와 연결된 클래스의 초기화되지 않은 단일 개체를 만들고 성공하지 못하면 winrt::com_ptr 또는 빈 com_ptr 반환하는 함수 템플릿입니다.
try_get_activation_factory 함수 템플릿 지정된 Windows 런타임 클래스 형식에 대한 정품 인증 팩터리를 검색하는 도우미 함수이거나, 성공하지 못한 경우 빈 com_ptr.
unbox_value 함수 템플릿 IInspectable이 필요한 함수에서 처리할 수 있도록 참조 클래스 개체 내에서 스칼라 또는 배열 값을 래프(또는 unboxes)하는 함수 템플릿입니다.
unbox_value_or 함수 템플릿 IInspectable이 필요한 함수에서 처리할 수 있도록 대체 값을 사용하여 참조 클래스 개체 내에서 스칼라 값을 래프(또는 unboxes)하는 함수 템플릿입니다.
xaml_typename 함수 템플릿 windows::UI::Xaml::Interop::TypeName 개체 형식으로 Windows 런타임 형식의 형식 이름을 반환하는 도우미 함수입니다.

Windows 런타임 API를 확장하는 C++/WinRT 함수

확장 함수는 특정 Windows 런타임 API에 대한 C++/WinRT 프로젝션 형식에 있습니다. 예를 들어 winrt::Windows::Foundation::IAsyncAction은 IAsyncAction 에 대한 C++/WinRT 프로젝션 형식 입니다. 확장 함수는 실제 Windows 런타임 형식의 ABI(애플리케이션 이진 인터페이스) 화면의 일부가 아니므로 Windows 런타임 API의 멤버로 나열되지 않습니다. 그러나 C++/WinRT 프로젝트 내에서 호출할 수 있습니다.

WinRT API Function(s) 설명
IAsyncAction get, wait_for IAsyncAction C++/WinRT 확장 함수를 참조하세요.
IAsyncActionWithProgress get, wait_for IAsyncActionWithProgress C++/WinRT 확장 함수를 참조하세요.
IAsyncOperation get, wait_for IAsyncOperation C++/WinRT 확장 함수를 참조하세요.
IAsyncOperationWithProgress get, wait_for IAsyncOperationWithProgress C++/WinRT 확장 함수를 참조하세요.
IBindableIterable begin, end IBindableIterable C++/WinRT 확장 함수를 참조하세요.
IBindableIterator begin, end, operator++, operator++(int), operator* IBindableIterator C++/WinRT 확장 함수를 참조하세요.
IBuffer data IBuffer C++/WinRT 확장 함수를 참조하세요.
IIterable begin, end IIterable C++/WinRT 확장 함수를 참조하세요.
IIterator operator++, operator++(int), operator* IIterator C++/WinRT 확장 함수를 참조하세요.
IKeyValuePair operator== IKeyValuePair C++/WinRT 확장 함수를 참조하세요.
Imap begin, end, TryLookup, TryRemove IMap C++/WinRT 확장 함수를 참조하세요.
IMapView begin, end, TryLookup IMapView C++/WinRT 확장 함수를 참조하세요.
IMemoryBufferReference data IMemoryBufferReference C++/WinRT 확장 함수를 참조하세요.
IVector begin, end IVector C++/WinRT 확장 함수를 참조하세요.
IVectorView begin, end IVectorView C++/WinRT 확장 함수를 참조하세요.

기타 함수

함수 설명
GetRuntimeClassName 함수 구현되는 Windows 런타임 클래스의 정규화된 형식 이름을 포함하는 문자열을 반환하는 멤버 함수(생성된 구현 형식)입니다.

참고 항목

C++/WinRT