Video for Windows и службы NT
От: Vorobiev Sergei Россия  
Дата: 19.08.03 14:48
Оценка:
Здравствуйте.

Использовал ли кто-нибудь VfW в сервисе? Нужно чтобы сервис стартовал при загрузке системы и работал без залогониных пользователей.

Проблема вот в чем. При запуске сервиса в неинтерактивном режиме (LocalSystem или Администратор) при вызове функции capDriverConnect получаю ошибку "Устройство видеозаписи не обнаружено" код ошибки 418. Попробовал запускать в интерактивном режиме. До того как пользователь зашел в систему выдается таже ошибка. После входа пользователя драйвер подключается нормально.

В файле Vfw.h нашел следующую константу.

#define IDS_CAP_DRIVER_ERROR 418 /* Driver specific error message */

По описанию похоже, что это ошибка конкретного драйвера. У меня установлен драйвер ASUS VfW Capture Driver v1.1 for Windows 2000.

Или же VfW не работает в неинтерактивном режиме (в неинтерактивной оконной станции)? В MSDN по этому поводу ничего найти не удалось.
Re: Video for Windows и службы NT
От: Sinyagin Dmitry www.astawireless.com
Дата: 20.08.03 17:17
Оценка:
VS>Использовал ли кто-нибудь VfW в сервисе? Нужно чтобы сервис стартовал при загрузке системы и работал без залогониных пользователей.

зачем такие глупости ? VfW не предназначен для работы из сервисов (я конечно не последняя инстанция, но у меня не получалось заставить vfw полноценно работать из service mode).
DirectShow поможет в решении этой проблемы
Re[2]: Video for Windows и службы NT
От: Vorobiev Sergei Россия  
Дата: 21.08.03 18:10
Оценка:
Здравствуйте, Sinyagin Dmitry, Вы писали:

VS>>Использовал ли кто-нибудь VfW в сервисе? Нужно чтобы сервис стартовал при загрузке системы и работал без залогониных пользователей.


SD>зачем такие глупости ?


Это не глупости, а постановка задачи. Пишется драйвер для сервера оборудования. Драйвер — COM-объект. А сам сервер — сервис, который должен работать в т.ч. без пользователей.

SD>DirectShow поможет в решении этой проблемы


Спасибо за подсказку. Но я с DirectShow сталкиваюсь в первый раз.

Скажите пожалуйста можно ли получить картинку в PREVIEW не выводя ее на экран (получить буфер). В VfW это просто. capGrabFrame и callback возвращает указатель на буфер. А что для этого нужно использовать в DirectShow?

Работает ли DShow из сервиса? (интересует момент, когда нет пользователей в системе)

Как сказано в MSDN (DirectX 8.1) — Microsoft® DirectShow® is now part of DirectX and has been updated for this release. А что было в 7-м? Нужно было ставить отдельный компонент? Меня это интересует т.к. изначально 2000-й поставляется с 7-м DX. Нужно ли ставить дополнительно DirectShow или 8-й DX?

Спасибо.
Re[3]: Video for Windows и службы NT
От: Sinyagin Dmitry www.astawireless.com
Дата: 21.08.03 20:08
Оценка:
VS>Это не глупости, а постановка задачи. Пишется драйвер для сервера оборудования. Драйвер — COM-объект. А сам сервер — сервис, который должен работать в т.ч. без пользователей.
И в задаче было написанно именно "VfW в сервисе" ? не верю


VS>Скажите пожалуйста можно ли получить картинку в PREVIEW не выводя ее на экран (получить буфер). В VfW это просто. capGrabFrame и callback возвращает указатель на буфер. А что для этого нужно использовать в DirectShow?

да можно. можете посмотреть вот сюда — http://www.wirebyte.com/products.wire

VS>Работает ли DShow из сервиса? (интересует момент, когда нет пользователей в системе)

насчет того когда нет пользователей в системе не могу гарантировать 100 процентов, но должен.
Можете попробовать взять наш компонент и за 5 минут проверить его на своем уже существующем приложении

VS>Как сказано в MSDN (DirectX 8.1) — Microsoft® DirectShow® is now part of DirectX and has been updated for this release. А что было в 7-м? Нужно было ставить отдельный компонент? Меня это интересует т.к. изначально 2000-й поставляется с 7-м DX. Нужно ли ставить дополнительно DirectShow или 8-й DX?


нет, ставить ничего отдельно не нужно, возможно они подразумевали DirectX Media Pack ?

ps: а вообще лучше в приват — dmitry (at) wirebyte.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.