Функция обратного вызова PFNKSDEVICEPNPSTART (ks.h)

Подпрограмма AVStrMiniDeviceStart для avStream minidriver вызывается при отправке запроса IRP_MN_START_DEVICE для указанного устройства.

Синтаксис

PFNKSDEVICEPNPSTART Pfnksdevicepnpstart;

NTSTATUS Pfnksdevicepnpstart(
  [in]           PKSDEVICE Device,
  [in]           PIRP Irp,
  [in, optional] PCM_RESOURCE_LIST TranslatedResourceList,
  [in, optional] PCM_RESOURCE_LIST UntranslatedResourceList
)
{...}

Параметры

[in] Device

Указатель на структуру KSDEVICE, описывающую устройство для запуска.

[in] Irp

Указатель на полученную IRP_MN_START_DEVICE .

[in, optional] TranslatedResourceList

Указатель на структуру CM_RESOURCE_LIST , содержащую переведенный список ресурсов, извлеченный из Irp. Равно NULL , если у устройства нет назначенных ресурсов. Необязательный элемент.

[in, optional] UntranslatedResourceList

Указатель на структуру CM_RESOURCE_LIST , содержащую список непереводимых ресурсов, извлеченный из Irp. Равно NULL , если член KSDEVICE этого списка параметров не имеет назначенных ресурсов. Необязательный элемент.

Возвращаемое значение

Должен возвращать STATUS_SUCCESS или код ошибки, возвращенный при попытке выполнить операцию. Запуск гарантированно будет успешным, если подпрограмма возвращает код состояния успешно. Не возвращайте STATUS_PENDING.

Комментарии

Укажите адрес этой подпрограммы в элементе Start структуры KSDEVICE_DISPATCH .

Как правило, эта подпрограмма используется мини-драйверами, которые должны оценивать назначенные ресурсы. Списки ресурсов извлекаются из IRP для удобства мини-накопителя. Мини-driver может проанализировать список ресурсов, чтобы найти прерывание, назначенное устройству, а также физический адрес ресурсов памяти.

Мини-накопители могут использовать эту подпрограмму для выделения контекстной информации для связи с устройством AVStream. (Это похоже на мини-диск в классе stream, использующий расширение устройства для хранения контекстных сведений.)

Обратите внимание, что STATUS_PENDING не является юридическим кодом возврата из этой функции. Чтобы выполнить действия в контексте рабочего потока до завершения действий запуска AVStream, таких как включение интерфейсов устройств, используйте диспетчеризацию после запуска. См. статью AVStrMiniDevicePostStart.

Эта подпрограмма является необязательной.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версиях, а также DirectX 8.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть ks.h (включая Ks.h)

См. также раздел

CM_RESOURCE_LIST

KSDEVICE_DISPATCH