static int Open( vlc_object_t *p_this )
{
    sout_access_out_t   *p_access = (sout_access_out_t*)p_this;    if( !( p_access->p_sys = malloc( sizeof( sout_access_out_sys_t ) ) ) )
    {
        msg_Err( p_access, "out of memory" );
        return( VLC_EGENERIC );
    }    if( !p_access->psz_name )
    {
        msg_Err( p_access, "no file name specified" );
        return VLC_EGENERIC;
    }
    if( !strcmp( p_access->psz_name, "-" ) )
    {
        p_access->p_sys->i_handle = STDOUT_FILENO; //编译不过去, 没定义的标识符, VC下如何改
        msg_Dbg( p_access, "using stdout" );    }
    else if( ( p_access->p_sys->i_handle =
               open( p_access->psz_name, O_WRONLY|O_CREAT|O_TRUNC,
                     S_IWRITE | S_IREAD | S_IRGRP | S_IROTH ) ) == -1 )
    {
        msg_Err( p_access, "cannot open `%s'", p_access->psz_name );
        free( p_access->p_sys );
        return( VLC_EGENERIC );
    }    p_access->pf_write        = Write;
    p_access->pf_seek         = Seek;    msg_Info( p_access, "Open: name:`%s'", p_access->psz_name );
    return VLC_SUCCESS;
}