Поделиться через


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

Подпрограмма AVStream minidriver AVStrMiniDeviceStart вызывается при отправке запроса 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, если член этого списка параметров не имеет назначенных ресурсов. Необязательный.

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

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

Замечания

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

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Microsoft Windows XP и более поздних операционных системах и версиях DirectX 8.0 и более поздних версий DirectX.
целевая платформа Настольный
заголовка ks.h (include Ks.h)

См. также

CM_RESOURCE_LIST

KSDEVICE_DISPATCH