Windows10上运行的gPhoto2的Powershell钩子脚本

时间:2020-08-28 14:58:53

标签: powershell libgphoto2

我尝试在通过MSYS2 MinGW安装的Windows10上运行的gPhoto2上使用钩子脚本。 gPhoto2运行良好。我的问题是,现在我想运行一个钩子脚本来对来自摄像机的事件做出反应。我使用以下代码启动gPhoto绑定捕获:



    $env:CAMLIBS="C:\msys64\mingw64\lib\libgphoto2\2.5.23\"
    $env:IOLIBS="C:\msys64\mingw64\lib\libgphoto2_port\0.12.0\"
    
    gphoto2 --auto-detect
    
    gphoto2 --capture-tethered --filename "%Y-%m-%d_%H%M%S.%C" --hook-script "D:\gphoto2Testing\Test.ps1"

出于测试目的,“ Test.ps1”的代码仅为

exit 0

因为据我所知,gPhoto2文档需要为init操作提供零退出代码。但是,我得到以下错误:



    gphoto2 : Hook script returned error code -1 (0xffffffff)
    In D:\gphoto2Testing\gPhoto2.ps1:6 Zeichen:1
    + gphoto2 --capture-tethered --filename "%Y-%m-%d_%H%M%S.%C" --hook-scr ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (Hook script ret...-1 (0xffffffff):String) [], RemoteException
        + FullyQualifiedErrorId : NativeCommandError
     
    Hook script "D:\gphoto2Testing\Test.ps1" init failed. Aborting.

通常,挂钩脚本应与脚本类型无关(请参见https://github.com/gphoto/gphoto2/issues/217)。 gPhoto2附带的演示钩子脚本显示为:


    self=`basename $0`
    
    case "$ACTION" in
        init)
        echo "$self: INIT"
        # exit 1 # non-null exit to make gphoto2 call fail
        ;;
        start)
        echo "$self: START"
        ;;
        download)
        echo "$self: DOWNLOAD to $ARGUMENT"
        ;;
        stop)
        echo "$self: STOP"
        ;;
        *)
        echo "$self: Unknown action: $ACTION"
        ;;
    esac
    
    exit 0

gPhoto2的文档显示为:

每当gphoto2中发生某个事件时,都要执行钩子脚本FILENAME。钩子脚本读取环境变量ACTION。它必须忽略它未知的ACTION值。

也许我的问题与环境变量ACTION或上述退出代码有关。我在Google上搜索,但没有成功。对于解决此问题的任何帮助,我们深表感谢。

0 个答案:

没有答案