Функция обратного вызова 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) |