Обучение
Схема обучения
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе содержатся сведения о поддержке внутренних камер в системах Windows 8.1. В нем описывается, как определить физическое расположение встроенных камер, чтобы они правильно работали с приложениями UWP. Он также описывает, как задать идентификатор модели, чтобы камера работала с приложениями устройств UWP. Дополнительные сведения о приложениях устройств UWP см. в статье "Знакомство с приложениями устройств UWP".
Системы со встроенными камерами с механически фиксированным направлением должны сообщать о физическом расположении камер. Эта информация о физическом расположении указывает направление, к которому сталкивается камера, например передний или задний, чтобы приложения для использования камеры в Windows 8.1 работали правильно.
Требуются следующие два требования к сертификации оборудования Windows, которые позволяют Windows распознавать расположение камеры:
System.Client.PCContainer.PCAppearsAsSingleObject. Камера должна быть сгруппирована в контейнер устройства компьютера, который содержит функции устройства, расположенные физически внутри компьютера. Камера должна быть сгруппирована в контейнер устройства компьютера, чтобы предоставить ей физическое расположение для приложений, так как устройства, внешние для контейнера компьютера, не предполагают, что имеют механически фиксированное направление.
System.Client.Webcam.PhysicalLocation. Встроенное ПО должно предоставлять сведения о физическом расположении, используя сведения о _PLD в таблицах ACPI, чтобы указать расположение и ориентацию камеры.
Windows должен знать физическое расположение внутренних камер по следующим причинам:
Приложения UWP используют физическое расположение, чтобы определить, какую камеру следует использовать, если присутствуют несколько камер. Например, приложение чата по умолчанию будет использовать переднюю камеру, которая сталкивается с пользователем при запуске приложения.
Приложения UWP используют физическое расположение, чтобы определить, как зеркало или повернуть предварительный просмотр видео.
Если камера сталкивается с пользователем, предварительный просмотр должен выглядеть так, как если бы пользователь смотрел на зеркало. Для этого приложение перевернет левую и правую стороны предварительного просмотра, чтобы предварительный просмотр зеркало видео. Если камера находится подальше от пользователя, приложению не нужно зеркало видео.
Если приложение поворачивает предварительный просмотр, степень поворота отличается в зависимости от положения камеры.
В соответствии с требованием сертификации System.Client.PCContainer.PCAppearsAsSingleObject, также известном как SYSFUND-0200, внутренние узлы устройств камеры должны быть сгруппированы в контейнер устройства ПК. Другими словами, внутренняя камера не должна отображаться на устройствах и принтерах и должна быть консолидирована в контейнер ПК.
Способ реализации этого требования зависит от типа шины внутренней камеры. Если устройство может предоставлять сведения о расположении физического устройства в таблицах ACPI, правильное группирование можно указать на уровне ACPI, включив _PLD сведения в таблицы и изменив флаг UserVisible в таблице ACPI, как описано в разделе "Поддержка многофункционированных устройств" и "Группы контейнеров устройств". В противном случае переопределите съемный флаг с помощью раздела реестра DeviceOverrides. Дополнительные сведения см. в разделе реестра DeviceOverrides.
В соответствии с требованием сертификации System.Client.Webcam.PhysicalLocation значение _PLD, указывающее расположение камеры, должно быть указано в таблице ACPI (расширенная конфигурация и интерфейс питания). Это относится к любому устройству камеры, встроенному в шасси системы, и имеет механически фиксированное направление. Встроенное ПО должно предоставить метод _PLD и задать поле Панели (биты 69:67) соответствующим значением для панели, на которой подключена камера. Например, front указывает, что камера сталкивается с пользователем (веб-камера), а назад указывает, что камера находится подальше от конечного пользователя (все еще или видеокамера).
Значение битов 69:67 | Панель |
---|---|
0 | Верх |
1 | Снизу |
2 | Left |
3 | Right |
4 | Front |
5 | BACK |
6 | Неизвестно |
Кроме того, бит 143:128 (вертикальное смещение) и биты 159:144 (горизонтальное смещение) должны обеспечить относительное расположение камеры относительно дисплея. Этот источник относится к адресации собственных пикселей в компоненте отображения и должен соответствовать текущей ориентации отображения альбомной или книжной. Источником является нижний левый угол дисплея, где положительные значения горизонтального и вертикального смещения находятся справа и вверх соответственно.
Для внутренней камеры, подключенной к USB, узел устройства для USB-устройства будет создан в таблице ACPI под узлом usb-порта.
Чтобы указать адрес (_ADR):
Установка Windows на целевой компьютер
Перейти к диспетчер устройств
Выберите и удерживайте (или щелкните правой кнопкой мыши) целевую веб-камеру и выберите пункт "Свойства"
Откройте вкладку "Сведения" и выберите "Адрес " в меню "Свойство "
Значение в поле "Значение " — адрес, на который находится ваше устройство.
Задайте значение в _ADR в таблице ACPI
Задайте значение _PLD на основе спецификации ACPI и дизайна КОМПЬЮТЕРА
В этом примере показана таблица ACPI для usb-подключенной камеры. В этом примере значение равно 0x1. Девятый байт содержит код панели для расположения (биты[69:67]). Обратите внимание, что если устройство является составным USB-устройством, PLD должен находиться на видео FUNCTION. Это означает, что потребуется дополнительная запись Device().
Device(PRTD)
{
Name(_ADR, 0x6)
Name(_UPC, Package(0x4)
{
....
}
Name(_PLD, Buffer(0x10)
{
....
}
Device(WCAM)
{
Name(_ADR, 0x6)
Name(_PLD, Buffer(0x10) {
0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
}
}
Дополнительные сведения о _PLD см. в спецификации ACPI.
Для узлов ниже USBCCGP значение адреса вычисляется путем добавления номера порта в первый номер интерфейса функции камеры. Если USBCCGP не загружается для устройства, адрес — это просто номер порта. Если вам нужно прогнозировать номер адреса без установки Windows, используйте эту формулу для вычисления. Если целевое устройство является одним устройством-функцией (без использования составного устройства USB), значение адреса вычисляется только с использованием номера порта.
Система метаданных устройства Windows может запрашивать внутренний пакет метаданных устройства встроенной камеры, только если узел устройства камеры имеет свойство "Идентификатор модели" и категория Imaging.Webcam
устройства . Чтобы сделать метаданные внутренней камеры обнаруживаемыми Windows, чтобы пакет метаданных устройства правильно связывался с устройством и приложением устройства UWP для конкретной камеры, изготовитель оборудования должен выполнить следующие действия:
InternalDeviceModification
флага в разделе реестра устройств.Для внутренних камер ИЗГОТОВИТЕЛЬ создает GUID для идентификатора модели и создает для него раздел реестра. Свойство идентификатора модели добавляется на узел устройства с помощью механизма InternalDeviceModification, который является таблицей подстановки на основе реестра (LUT), состоящей из разделов реестра, которые сопоставляются с определенными устройствами. Эта таблица InternalDeviceModification поддерживается в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\InternalDeviceModification
Запись подраздела, созданная в разделе реестра InternalDeviceModification, — это предоставленный OEM GUID для ModelID. Наличие этого ключа добавляет идентификатор модели в узел устройства камеры на основе идентификатора оборудования устройства и сведений о расположении, указанных значением _PLD в таблице ACPI.
Раздел реестра InternalDeviceModification указывает, что по крайней мере одна камера использует ModelID.
Имя раздела реестра | InternalDeviceModification |
---|---|
Обязательный/необязательный | Обязательное поле |
Путь | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control |
Требования к формату | нет |
Допустимые подразделы | Раздел реестра идентификаторов модели (см. следующие требования к формату подраздела и примеры) |
Имя раздела реестра | Идентификатор модели (точное значение идентификатора модели — это имя ключа) |
---|---|
Обязательный/необязательный | Обязательное поле |
Требования к формату | Имя ключа — это GUID, созданный изготовителем оборудования. Она должна иметь как открывающая, так и закрывающая скобки. |
Допустимые значения | Значения реестра идентификаторов оборудования или PLD_Panel |
Примеры | {43922620-DAD9-4C05-BE3F-F65B089D84D8} |
Имя параметра реестра | Аппаратные идентификаторы |
---|---|
Обязательный/необязательный | Обязательное поле |
Тип | Многостроняя строка |
Требования к формату | Должен включать префикс шины идентификатора оборудования. Все символы "" должны быть заменены на "#". |
Примеры | USB#VID_1234&PID_ABCD&REV_0001 , PCI#VEN_ABCD&DEV_1234&SUBSYS_000 |
Комментарий | Можно указать несколько значений идентификаторов оборудования. Если любое из аппаратных идентификаторов в списке происходит несколько раз, система задает идентификатор модели узла устройства на основе идентификатора оборудования. |
Имя параметра реестра | PLD_Panel |
---|---|
Обязательный/необязательный | Необязательно |
Тип | DWORD |
Требования к формату | Должен включать префикс шины аппаратного идентификатора. Все символы "\" должны быть заменены на "#". |
Примеры | 4,5 |
Значение PLD_Panel, предоставленное в таблицах ACPI, позволяет камерам отличаться друг от друга, если система имеет два идентичных устройства камеры и оба имеют идентичные аппаратные идентификаторы. Для создания различных идентификаторов моделей используется сочетание аппаратных идентификаторов и PLD_Panel значений.
Примечание
Параметр PLD_Panel в разделе реестра необязателен. Windows определяет физическое расположение камеры по параметрам в таблице ACPI.
Значение реестра PLD_Panel определяется как _PLD (расположение физического устройства) в спецификации ACPI. Это значение, указывающее физическое расположение камеры в корпусе, должно быть одним из следующих значений.
значение | Описание |
---|---|
0 | Верх |
1 | Снизу |
2 | Left |
3 | Right |
4 | Front |
5 | BACK |
6 | Неизвестно (вертикальное положение и горизонтальное положение будут игнорироваться) |
В следующих примерах показан формат раздела реестра InternalDeviceModification.
{00001111-2222-3333-4444-555566667777}
HardwareIDs (Multi sz) =
"USB#VID_1234&PID_ABCD&REV_0001","USB#VID_1234&PID_ABCD"
PLD_Panel (DWORD) = 4
{88889999-aaaa-bbbb-cccc-ddddeeeeffff}
HardwareIDs (multi sz) = "USB#VID_5678&PID_WXYZ&REV_0001"
PLD_Panel (DWORD) = 5
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\InternalDeviceModification]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\InternalDeviceModification\{BBBF38D6-9866-493D-B86F-986E339E096D}]
"PLD_Panel"=dword:00000004
"HardwareIDs"=hex(7):55,00,53,00,42,00,23,00,56,00,49,00,44,00,5f,00,30,00,34,\
00,35,00,45,00,26,00,50,00,49,00,44,00,5f,00,30,00,30,00,31,00,30,00,23,00,\
52,00,45,00,56,00,5f,00,30,00,30,00,30,00,31,00,00,00,55,00,53,00,42,00,23,\
00,56,00,49,00,44,00,5f,00,30,00,34,00,35,00,45,00,26,00,50,00,49,00,44,00,\
5f,00,30,00,30,00,31,00,30,00,00,00,00,00
Пакет метаданных устройства для внутренней камеры имеет ту же структуру, что и пакет метаданных устройства для любого другого устройства. Ключ метаданных в packageinfo.xml в пакете метаданных устройства — это идентификатор модели, определенный с помощью раздела реестра InternalDeviceModification. Система метаданных Windows загружает пакет метаданных устройства на основе идентификатора модели. Идентификатор оборудования внутренней камеры не используется.
Дополнительные сведения о создании метаданных устройства для приложения устройства UWP см. в статье "Создание приложений устройств UWP".
Приложение устройства Microsoft Store и пакет метаданных устройства можно предварительно установить на устройстве с помощью комплекта предварительной установки OEM (OPK).
Обучение
Схема обучения
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization