HString 클래스
RAII 패턴을 사용하여 HSTRING의 수명을 관리하기 위한 도우미 클래스입니다.
class HString;
Windows 런타임 HSTRING 핸들을 통해 문자열에 대한 액세스를 제공합니다. 이 클래스는 HString
HSTRING 핸들 사용을 간소화하는 편리한 함수 및 연산자를 제공합니다. 이 클래스는 RAII 패턴을 통해 소유하는 HSTRING의 수명을 처리할 수 있습니다.
속성 | 설명 |
---|---|
HString::HString | HString 클래스의 새 인스턴스를 초기화합니다. |
HString::~HString | 클래스의 현재 인스턴스를 삭제합니다 HString . |
이름 | 설명 |
---|---|
HString::Attach | 지정된 HString 개체를 현재 HString 개체와 연결합니다. |
HString::CopyTo | 현재 HString 개체를 HSTRING 개체에 복사합니다. |
HString::D etach | 지정된 HString 개체를 내부 값과 연결 해제합니다. |
HString::Get | 기본 HSTRING 핸들의 값을 검색합니다. |
HString::GetAddressOf | 기본 HSTRING 핸들에 대한 포인터를 검색합니다. |
HString::GetRawBuffer | 기본 문자열 데이터에 대한 포인터를 검색합니다. |
HString::IsValid | 현재 HString 개체가 유효한지 여부를 나타냅니다. |
HString::MakeReference | HStringReference 지정된 문자열 매개 변수에서 개체를 만듭니다. |
HString::Release | 기본 문자열 값을 삭제하고 현재 HString 개체를 빈 값으로 초기화합니다. |
HString::Set | 현재 HString 개체의 값을 지정된 와이드 문자열 또는 HString 매개 변수로 설정합니다. |
속성 | 설명 |
---|---|
HString::operator= | 다른 HString 개체의 값을 현재 HString 개체로 이동합니다. |
HString::operator== | 두 매개 변수가 같은지 여부를 나타냅니다. |
HString::operator!= | 두 매개 변수가 같지 않은지 여부를 나타냅니다. |
HString::operator< |
첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타냅니다. |
HString
헤더: corewrappers.h
네임스페이스: Microsoft::WRL::Wrappers
클래스의 현재 인스턴스를 삭제합니다 HString
.
~HString() throw()
지정된 HString
개체를 현재 HString
개체와 연결합니다.
void Attach(
HSTRING hstr
) throw()
hstr
기존 HString
개체입니다.
현재 HString
개체를 HSTRING 개체에 복사합니다.
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
str
복사본을 받는 HSTRING입니다.
이 메서드는 WindowsDuplicateString 함수를 호출합니다 .
지정된 HString
개체를 내부 값과 연결 해제합니다.
HSTRING Detach() throw()
분리 작업이 시작되기 전의 기본 HString
값입니다.
기본 HSTRING 핸들의 값을 검색합니다.
HSTRING Get() const throw()
기본 HSTRING 핸들의 값입니다.
기본 HSTRING 핸들에 대한 포인터를 검색합니다.
HSTRING* GetAddressOf() throw()
기본 HSTRING 핸들에 대한 포인터입니다.
이 작업 후에 기본 HSTRING 핸들의 문자열 값이 삭제됩니다.
기본 문자열 데이터에 대한 포인터를 검색합니다.
const wchar_t* GetRawBuffer(unsigned int* length) const;
길이 데이터 길이를 int
받는 변수에 대한 포인터입니다.
const
기본 문자열 데이터에 대한 포인터입니다.
HString
클래스의 새 인스턴스를 초기화합니다.
HString() throw();
HString(HString&& other) throw();
hstr
HSTRING 핸들입니다.
기타
기존 HString
개체입니다.
첫 번째 생성자는 비어 있는 새 HString
개체를 초기화합니다.
두 번째 생성자는 새 HString
개체를 기존 다른 매개 변수의 값으로 초기화한 다음 다른 매개 변수를 삭제합니다.
현재 HString
개체가 비어 있는지 여부를 나타냅니다.
bool IsValid() const throw()
true
현재 HString
개체가 비어 있지 않으면 .이고, false
그렇지 않으면 .입니다.
HStringReference
지정된 문자열 매개 변수에서 개체를 만듭니다.
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[ sizeDest]);
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[sizeDest],
unsigned int len);
sizeDest
대상 HStringReference
버퍼의 크기를 지정하는 템플릿 매개 변수입니다.
str
와이드 문자 문자열에 대한 참조입니다.
렌
이 작업에 사용할 str 매개 변수 버퍼의 최대 길이입니다. len 매개 변수를 지정하지 않으면 전체 str 매개 변수가 사용됩니다.
HStringReference
값이 지정된 str 매개 변수와 동일한 개체입니다.
다른 HString
개체의 값을 현재 HString
개체로 이동합니다.
HString& operator=(HString&& other) throw()
기타
기존 HString
개체입니다.
기존 다른 개체의 값이 현재 HString
개체에 복사된 다음 다른 개체가 제거됩니다.
두 매개 변수가 같은지 여부를 나타냅니다.
inline bool operator==(
const HString& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator==(
const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator==(
const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HSTRING& rhs) throw()
lhs
비교할 첫 번째 매개 변수입니다. lhs는 HString
개체 또는 HStringReference
HSTRING 핸들일 수 있습니다.
rhs
비교할 두 번째 매개 변수입니다.rhs는 개체 HString
또는 HStringReference
HSTRING 핸들일 수 있습니다.
true
lhs 및 rhs 매개 변수가 같으면 .이고, false
그렇지 않으면 .
두 매개 변수가 같지 않은지 여부를 나타냅니다.
inline bool operator!=( const HString& lhs,
const HString& rhs) throw()
inline bool operator!=( const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator!=( const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HSTRING& rhs) throw()
lhs
비교할 첫 번째 매개 변수입니다. lhs는 HString
개체 또는 HStringReference
HSTRING 핸들일 수 있습니다.
rhs
비교할 두 번째 매개 변수입니다.rhs는 개체 HString
또는 HStringReference
HSTRING 핸들일 수 있습니다.
true
lhs 및 rhs 매개 변수가 같지 않으면 .이고, false
그렇지 않으면 .
첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타냅니다.
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
lhs
비교할 첫 번째 매개 변수입니다. lhs는 .에 대한 참조 HString
일 수 있습니다.
rhs
비교할 두 번째 매개 변수입니다. rhs는 .에 대한 참조 HString
일 수 있습니다.
true
lhs 매개 변수가 rhs 매개 변수보다 작으면 .이고, false
그렇지 않으면 .
기본 문자열 값을 삭제하고 현재 HString
개체를 빈 값으로 초기화합니다.
void Release() throw()
현재 HString
개체의 값을 지정된 와이드 문자열 또는 HString
매개 변수로 설정합니다.
HRESULT Set(
const wchar_t* str) throw();
HRESULT Set(
const wchar_t* str,
unsigned int len
) throw();
HRESULT Set(
const HSTRING& hstr
) throw();
str
와이드 문자열입니다.
렌
현재 개체에 할당된 str 매개 변수의 최대 길이 HString
입니다.
hstr
기존 HString
개체입니다.