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 매개 변수로 설정합니다.

Public 연산자

이름 설명
HString::operator= 다른 HString 개체의 값을 현재 HString 개체로 이동합니다.
HString::operator== 두 매개 변수가 같은지 여부를 나타냅니다.
HString::operator!= 두 매개 변수가 같지 않은지 여부를 나타냅니다.
HString::operator< 첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타냅니다.

상속 계층 구조

HString

요구 사항

헤더: corewrappers.h

네임스페이스: Microsoft::WRL::Wrappers

HString::~HString

클래스의 현재 인스턴스를 삭제합니다 HString .

~HString() throw()

HString::Attach

지정된 HString 개체를 현재 HString 개체와 연결합니다.

void Attach(
       HSTRING hstr
       ) throw()

매개 변수

hstr
기존 HString 개체입니다.

HString::CopyTo

현재 HString 개체를 HSTRING 개체에 복사합니다.

HRESULT CopyTo(
   _Out_ HSTRING *str
   ) const throw();

매개 변수

str
복사본을 받는 HSTRING입니다.

설명

이 메서드는 WindowsDuplicateString 함수를 호출합니다 .

HString::D etach

지정된 HString 개체를 내부 값과 연결 해제합니다.

HSTRING Detach() throw()

Return Value

분리 작업이 시작되기 전의 기본 HString 값입니다.

HString::Get

기본 HSTRING 핸들의 값을 검색합니다.

HSTRING Get() const throw()

Return Value

기본 HSTRING 핸들의 값입니다.

HString::GetAddressOf

기본 HSTRING 핸들에 대한 포인터를 검색합니다.

HSTRING* GetAddressOf() throw()

Return Value

기본 HSTRING 핸들에 대한 포인터입니다.

설명

이 작업 후에 기본 HSTRING 핸들의 문자열 값이 삭제됩니다.

HString::GetRawBuffer

기본 문자열 데이터에 대한 포인터를 검색합니다.

const wchar_t* GetRawBuffer(unsigned int* length) const;

매개 변수

길이 데이터 길이를 int 받는 변수에 대한 포인터입니다.

Return Value

const 기본 문자열 데이터에 대한 포인터입니다.

HString::HString

HString 클래스의 새 인스턴스를 초기화합니다.

HString() throw();
HString(HString&& other) throw();

매개 변수

hstr
HSTRING 핸들입니다.

기타
기존 HString 개체입니다.

설명

첫 번째 생성자는 비어 있는 새 HString 개체를 초기화합니다.

두 번째 생성자는 새 HString 개체를 기존 다른 매개 변수의 값으로 초기화한 다음 다른 매개 변수를 삭제합니다.

HString::IsValid

현재 HString 개체가 비어 있는지 여부를 나타냅니다.

bool IsValid() const throw()

매개 변수

true 현재 HString 개체가 비어 있지 않으면 .이고, false그렇지 않으면 .입니다.

HString::MakeReference

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 매개 변수가 사용됩니다.

Return Value

HStringReference 값이 지정된 str 매개 변수와 동일한 개체입니다.

HString::operator= 연산자

다른 HString 개체의 값을 현재 HString 개체로 이동합니다.

HString& operator=(HString&& other) throw()

매개 변수

기타
기존 HString 개체입니다.

설명

기존 다른 개체의 값이 현재 HString 개체에 복사된 다음 다른 개체가 제거됩니다.

HString::operator== 연산자

두 매개 변수가 같은지 여부를 나타냅니다.

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 핸들일 수 있습니다.

Return Value

truelhs 및 rhs 매개 변수가 같으면 .이고, false그렇지 않으면 .

HString::operator!= 연산자

두 매개 변수가 같지 않은지 여부를 나타냅니다.

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 핸들일 수 있습니다.

Return Value

truelhs 및 rhs 매개 변수가 같지 않으면 .이고, false그렇지 않으면 .

HString::operator< 연산자

첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타냅니다.

inline bool operator<(
    const HString& lhs,
    const HString& rhs) throw()

매개 변수

Lhs
비교할 첫 번째 매개 변수입니다. lhs는 .에 대한 참조 HString일 수 있습니다.

rhs
비교할 두 번째 매개 변수입니다. rhs는 .에 대한 참조 HString일 수 있습니다.

Return Value

truelhs 매개 변수가 rhs 매개 변수보다 작으면 .이고, false그렇지 않으면 .

HString::Release

기본 문자열 값을 삭제하고 현재 HString 개체를 빈 값으로 초기화합니다.

void Release() throw()

HString::Set

현재 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 개체입니다.