다음을 통해 공유


IWMDMDevice2::GetCanonicalName 메서드(mswmdm.h)

GetCanonicalName 메서드는 디바이스의 정식 이름을 검색합니다.

구문

HRESULT GetCanonicalName(
  [out] LPWSTR pwszPnPName,
  [in]  UINT   nMaxChars
);

매개 변수

[out] pwszPnPName

정식 이름의 와이드 문자 버퍼입니다. 이 버퍼는 호출자가 할당하고 해제해야 합니다.

[in] nMaxChars

종료 문자를 포함하여 pwszPnPName에 배치할 수 있는 최대 문자 수를 지정하는 정수입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
E_INVALIDARG
pwszPnPName 매개 변수가 잘못되었거나 NULL 포인터입니다.
WMDM_E_NOTSUPPORTED
디바이스는 정식 이름을 지원하지 않습니다.
WMDM_E_BUFFERTOOSMALL
지정된 버퍼가 정식 이름에 비해 너무 작습니다.
E_FAIL
지정되지 않은 오류가 발생했습니다.

설명

애플리케이션은 검색된 정식 이름을 사용하여 IWMDeviceManager2::GetDeviceFromCanonicalName 을 호출하여 이 디바이스를 다시 찾을 수 있습니다.

반환된 정식 이름은 PnP 디바이스 경로>$<인덱>스 형식 < 입니다. 여기서 인덱스는 지정된 PnP 디바이스 경로에 대해 서비스 공급자가 반환하는 디바이스 개체에 대한 인덱스(0부터 시작)입니다.

정식 이름의 형식은 향후 Windows Media 장치 관리자 릴리스에서 변경될 수 있습니다.

예제

다음 C++ 코드는 디바이스 정식 이름을 검색합니다.


// Obtain an IWMDMDevice2 interface and call
// some methods.
const UINT MAX_CHARS = 100;
CComQIPtr<IWMDMDevice2> pIWMDMDevice2(pIWMDMDevice);
if (pIWMDMDevice2 != NULL)
{
    // Get the canonical name.
    WCHAR canonicalName[MAX_CHARS];
    hr = pIWMDMDevice2->GetCanonicalName(canonicalName, MAX_CHARS);
    if (hr == S_OK)
    {
        // TODO: Retrieve the canonical name.
    }

    // Find out the driver.
    myGetDriverName(pIWMDMDevice2);
}

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 mswmdm.h
라이브러리 Mssachlp.lib

추가 정보

IWMDMDevice2 인터페이스

IWMDeviceManager2::GetDeviceFromCanonicalName