Метод IWMDMDevice2::GetCanonicalName (mswmdm.h)
Метод GetCanonicalName извлекает каноническое имя устройства.
Синтаксис
HRESULT GetCanonicalName(
[out] LPWSTR pwszPnPName,
[in] UINT nMaxChars
);
Параметры
[out] pwszPnPName
Расширенный буфер символов для канонических имен. Этот буфер должен быть выделен и освобожден вызывающим объектом.
[in] nMaxChars
Целое число, указывающее максимальное количество символов, которое может быть помещено в pwszPnPName, включая символ завершения.
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Параметр pwszPnPName является недопустимым или пустым указателем. |
|
Устройство не поддерживает каноническое имя. |
|
Указанный буфер слишком мал для канонического имени. |
|
Произошла неизвестная ошибка. |
Комментарии
Приложение может использовать полученное каноническое имя для вызова IWMDeviceManager2::GetDeviceFromCanonicalName , чтобы снова найти это устройство.
Возвращенное каноническое имя имеет формат < Путь >устройства PnP$<index>, где index — отсчитываемый от нуля индекс объектов устройства, возвращаемых поставщиком услуг для указанного пути к устройству PnP.
Формат канонического имени может измениться в будущих выпусках 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 |
Header | mswmdm.h |
Библиотека | Mssachlp.lib |