Files
adorca/support/dcamsdk4/misc/dyndcam4.cpp
2022-06-23 10:38:38 +02:00

649 lines
20 KiB
C++

// dyndcam4.cpp
#include "console4.h"
/* ---------------------------------------------------------------- */
typedef DCAMERR DCAMAPI proc_api_init( DCAMAPI_INIT* param );
typedef DCAMERR DCAMAPI proc_api_uninit();
typedef DCAMERR DCAMAPI proc_dev_open( DCAMDEV_OPEN* param );
typedef DCAMERR DCAMAPI proc_dev_close( HDCAM h );
typedef DCAMERR DCAMAPI proc_dev_showpanel( HDCAM h, int32 iKind );
typedef DCAMERR DCAMAPI proc_dev_getcapability( HDCAM h, DCAMDEV_CAPABILITY* param );
typedef DCAMERR DCAMAPI proc_dev_getstring( HDCAM h, DCAMDEV_STRING* param );
typedef DCAMERR DCAMAPI proc_dev_setdata( HDCAM h, DCAMDATA_HDR* param );
typedef DCAMERR DCAMAPI proc_dev_getdata( HDCAM h, DCAMDATA_HDR* param );
typedef DCAMERR DCAMAPI proc_prop_getattr( HDCAM h, DCAMPROP_ATTR* param );
typedef DCAMERR DCAMAPI proc_prop_getvalue( HDCAM h, int32 iProp, double* pValue );
typedef DCAMERR DCAMAPI proc_prop_setvalue( HDCAM h, int32 iProp, double fValue );
typedef DCAMERR DCAMAPI proc_prop_setgetvalue( HDCAM h, int32 iProp, double* pValue, int32 option );
typedef DCAMERR DCAMAPI proc_prop_queryvalue( HDCAM h, int32 iProp, double* pValue, int32 option );
typedef DCAMERR DCAMAPI proc_prop_getnextid( HDCAM h, int32* pProp, int32 option );
typedef DCAMERR DCAMAPI proc_prop_getname( HDCAM h, int32 iProp, char* text, int32 textbytes );
typedef DCAMERR DCAMAPI proc_prop_getvaluetext( HDCAM h, DCAMPROP_VALUETEXT* param );
typedef DCAMERR DCAMAPI proc_buf_alloc( HDCAM h, int32 framecount );// call dcambuf_release() to free.
typedef DCAMERR DCAMAPI proc_buf_attach( HDCAM h, const DCAMBUF_ATTACH* param );
typedef DCAMERR DCAMAPI proc_buf_release( HDCAM h, int32 iKind );
typedef DCAMERR DCAMAPI proc_buf_lockframe( HDCAM h, DCAMBUF_FRAME* pFrame );
typedef DCAMERR DCAMAPI proc_buf_copyframe( HDCAM h, DCAMBUF_FRAME* pFrame );
typedef DCAMERR DCAMAPI proc_buf_copymetadata( HDCAM h, DCAM_METADATAHDR* hdr );
typedef DCAMERR DCAMAPI proc_cap_start( HDCAM h, int32 mode );
typedef DCAMERR DCAMAPI proc_cap_stop( HDCAM h );
typedef DCAMERR DCAMAPI proc_cap_status( HDCAM h, int32* pStatus );
typedef DCAMERR DCAMAPI proc_cap_transferinfo( HDCAM h, DCAMCAP_TRANSFERINFO* param );
typedef DCAMERR DCAMAPI proc_cap_firetrigger( HDCAM h, int32 iKind );
typedef DCAMERR DCAMAPI proc_cap_record( HDCAM h, HDCAMREC hrec );
typedef DCAMERR DCAMAPI proc_wait_open( DCAMWAIT_OPEN* param );
typedef DCAMERR DCAMAPI proc_wait_close( HDCAMWAIT hWait );
typedef DCAMERR DCAMAPI proc_wait_start( HDCAMWAIT hWait, DCAMWAIT_START* param );
typedef DCAMERR DCAMAPI proc_wait_abort( HDCAMWAIT hWait );
typedef DCAMERR DCAMAPI proc_rec_openA( DCAMREC_OPENA* param );
typedef DCAMERR DCAMAPI proc_rec_openW( DCAMREC_OPENW* param );
typedef DCAMERR DCAMAPI proc_rec_close( HDCAMREC hrec );
typedef DCAMERR DCAMAPI proc_rec_lockframe( HDCAMREC hrec, DCAMREC_FRAME* pFrame );
typedef DCAMERR DCAMAPI proc_rec_copyframe( HDCAMREC hrec, DCAMREC_FRAME* pFrame );
typedef DCAMERR DCAMAPI proc_rec_writemetadata( HDCAMREC hrec, const DCAM_METADATAHDR* hdr );
typedef DCAMERR DCAMAPI proc_rec_lockmetadata( HDCAMREC hrec, DCAM_METADATAHDR* hdr );
typedef DCAMERR DCAMAPI proc_rec_copymetadata( HDCAMREC hrec, DCAM_METADATAHDR* hdr );
typedef DCAMERR DCAMAPI proc_rec_lockmetadatablock( HDCAMREC hrec, DCAM_METADATABLOCKHDR* hdr );
typedef DCAMERR DCAMAPI proc_rec_copymetadatablock( HDCAMREC hrec, DCAM_METADATABLOCKHDR* hdr );
typedef DCAMERR DCAMAPI proc_rec_pause( HDCAMREC hrec );
typedef DCAMERR DCAMAPI proc_rec_resume( HDCAMREC hrec );
typedef DCAMERR DCAMAPI proc_rec_status( HDCAMREC hrec, DCAMREC_STATUS* pStatus );
/* ---------------------------------------------------------------- */
static HINSTANCE hInstDcamapi4;
static struct {
proc_api_init* api_init;
proc_api_uninit* api_uninit;
proc_dev_open* dev_open;
proc_dev_close* dev_close;
proc_dev_showpanel* dev_showpanel;
proc_dev_getcapability* dev_getcapability;
proc_dev_getstring* dev_getstring;
proc_dev_setdata* dev_setdata;
proc_dev_getdata* dev_getdata;
proc_prop_getattr* prop_getattr;
proc_prop_getvalue* prop_getvalue;
proc_prop_setvalue* prop_setvalue;
proc_prop_setgetvalue* prop_setgetvalue;
proc_prop_queryvalue* prop_queryvalue;
proc_prop_getnextid* prop_getnextid;
proc_prop_getname* prop_getname;
proc_prop_getvaluetext* prop_getvaluetext;
proc_buf_alloc* buf_alloc;
proc_buf_attach* buf_attach;
proc_buf_release* buf_release;
proc_buf_lockframe* buf_lockframe;
proc_buf_copyframe* buf_copyframe;
proc_buf_copymetadata* buf_copymetadata;
proc_cap_start* cap_start;
proc_cap_stop* cap_stop;
proc_cap_status* cap_status;
proc_cap_transferinfo* cap_transferinfo;
proc_cap_firetrigger* cap_firetrigger;
proc_cap_record* cap_record;
proc_wait_open* wait_open;
proc_wait_close* wait_close;
proc_wait_start* wait_start;
proc_wait_abort* wait_abort;
proc_rec_openA* rec_openA;
proc_rec_openW* rec_openW;
proc_rec_close* rec_close;
proc_rec_lockframe* rec_lockframe;
proc_rec_copyframe* rec_copyframe;
proc_rec_writemetadata* rec_writemetadata;
proc_rec_lockmetadata* rec_lockmetadata;
proc_rec_copymetadata* rec_copymetadata;
proc_rec_lockmetadatablock* rec_lockmetadatablock;
proc_rec_copymetadatablock* rec_copymetadatablock;
proc_rec_pause* rec_pause;
proc_rec_resume* rec_resume;
proc_rec_status* rec_status;
} entry;
static FARPROC getproc( const char* procname )
{
return GetProcAddress( hInstDcamapi4, procname );
}
static void load_dcamapi4()
{
if( hInstDcamapi4 != NULL )
return; // nothing to do.
hInstDcamapi4 = LoadLibrary( _T("dcamapi.dll") );
if( hInstDcamapi4 == NULL )
return; // DLL is not found
if( (entry.api_init = (proc_api_init*) getproc( "dcamapi_init" ) ) != NULL
&& (entry.api_uninit = (proc_api_uninit*) getproc( "dcamapi_uninit" ) ) != NULL
&& (entry.dev_open = (proc_dev_open*) getproc( "dcamdev_open" ) ) != NULL
&& (entry.dev_close = (proc_dev_close*) getproc( "dcamdev_close" ) ) != NULL
&& (entry.dev_showpanel = (proc_dev_showpanel*) getproc( "dcamdev_showpanel" ) ) != NULL
&& (entry.dev_getcapability = (proc_dev_getcapability*) getproc( "dcamdev_getcapability" ) ) != NULL
&& (entry.dev_getstring = (proc_dev_getstring*) getproc( "dcamdev_getstring" ) ) != NULL
&& (entry.dev_setdata = (proc_dev_setdata*) getproc( "dcamdev_setdata" ) ) != NULL
&& (entry.dev_getdata = (proc_dev_getdata*) getproc( "dcamdev_getdata" ) ) != NULL
&& (entry.prop_getattr = (proc_prop_getattr*) getproc( "dcamprop_getattr" ) ) != NULL
&& (entry.prop_getvalue = (proc_prop_getvalue*) getproc( "dcamprop_getvalue" ) ) != NULL
&& (entry.prop_setvalue = (proc_prop_setvalue*) getproc( "dcamprop_setvalue" ) ) != NULL
&& (entry.prop_setgetvalue = (proc_prop_setgetvalue*) getproc( "dcamprop_setgetvalue" ) ) != NULL
&& (entry.prop_queryvalue = (proc_prop_queryvalue*) getproc( "dcamprop_queryvalue" ) ) != NULL
&& (entry.prop_getnextid = (proc_prop_getnextid*) getproc( "dcamprop_getnextid" ) ) != NULL
&& (entry.prop_getname = (proc_prop_getname*) getproc( "dcamprop_getname" ) ) != NULL
&& (entry.prop_getvaluetext = (proc_prop_getvaluetext*) getproc( "dcamprop_getvaluetext" ) ) != NULL
&& (entry.buf_alloc = (proc_buf_alloc*) getproc( "dcambuf_alloc" ) ) != NULL
&& (entry.buf_attach = (proc_buf_attach*) getproc( "dcambuf_attach" ) ) != NULL
&& (entry.buf_release = (proc_buf_release*) getproc( "dcambuf_release" ) ) != NULL
&& (entry.buf_lockframe = (proc_buf_lockframe*) getproc( "dcambuf_lockframe" ) ) != NULL
&& (entry.buf_copyframe = (proc_buf_copyframe*) getproc( "dcambuf_copyframe" ) ) != NULL
&& (entry.buf_copymetadata = (proc_buf_copymetadata*) getproc( "dcambuf_copymetadata" ) ) != NULL
&& (entry.cap_start = (proc_cap_start*) getproc( "dcamcap_start" ) ) != NULL
&& (entry.cap_stop = (proc_cap_stop*) getproc( "dcamcap_stop" ) ) != NULL
&& (entry.cap_status = (proc_cap_status*) getproc( "dcamcap_status" ) ) != NULL
&& (entry.cap_transferinfo = (proc_cap_transferinfo*) getproc( "dcamcap_transferinfo" ) ) != NULL
&& (entry.cap_firetrigger = (proc_cap_firetrigger*) getproc( "dcamcap_firetrigger" ) ) != NULL
&& (entry.cap_record = (proc_cap_record*) getproc( "dcamcap_record" ) ) != NULL
&& (entry.wait_open = (proc_wait_open*) getproc( "dcamwait_open" ) ) != NULL
&& (entry.wait_close = (proc_wait_close*) getproc( "dcamwait_close" ) ) != NULL
&& (entry.wait_start = (proc_wait_start*) getproc( "dcamwait_start" ) ) != NULL
&& (entry.wait_abort = (proc_wait_abort*) getproc( "dcamwait_abort" ) ) != NULL
&& (entry.rec_openA = (proc_rec_openA*) getproc( "dcamrec_openA" ) ) != NULL
&& (entry.rec_openW = (proc_rec_openW*) getproc( "dcamrec_openW" ) ) != NULL
&& (entry.rec_close = (proc_rec_close*) getproc( "dcamrec_close" ) ) != NULL
&& (entry.rec_lockframe = (proc_rec_lockframe*) getproc( "dcamrec_lockframe" ) ) != NULL
&& (entry.rec_copyframe = (proc_rec_copyframe*) getproc( "dcamrec_copyframe" ) ) != NULL
&& (entry.rec_writemetadata = (proc_rec_writemetadata*) getproc( "dcamrec_writemetadata" ) ) != NULL
&& (entry.rec_lockmetadata = (proc_rec_lockmetadata*) getproc( "dcamrec_lockmetadata" ) ) != NULL
&& (entry.rec_copymetadata = (proc_rec_copymetadata*) getproc( "dcamrec_copymetadata" ) ) != NULL
&& (entry.rec_lockmetadatablock= (proc_rec_lockmetadatablock*) getproc( "dcamrec_lockmetadatablock" ) ) != NULL
&& (entry.rec_copymetadatablock= (proc_rec_copymetadatablock*) getproc( "dcamrec_copymetadatablock" ) ) != NULL
&& (entry.rec_pause = (proc_rec_pause*) getproc( "dcamrec_pause" ) ) != NULL
&& (entry.rec_resume = (proc_rec_resume*) getproc( "dcamrec_resume" ) ) != NULL
&& (entry.rec_status = (proc_rec_status*) getproc( "dcamrec_status" ) ) != NULL )
return; // success
// DCAMAPI.DLL does not include all entry.
memset( &entry, 0, sizeof(entry) );
return; // failed
}
static void unload_dcamapi4()
{
if( hInstDcamapi4 != NULL )
{
FreeLibrary( hInstDcamapi4 );
}
memset( &entry, 0, sizeof(entry) );
}
/* ---------------------------------------------------------------- */
DCAMERR DCAMAPI dcamapi_init( DCAMAPI_INIT* param )
{
load_dcamapi4();
if( entry.api_init == NULL )
return DCAMERR_NOMODULE;
return entry.api_init( param );
}
DCAMERR DCAMAPI dcamapi_uninit()
{
DCAMERR err = DCAMERR_NOMODULE;
if( entry.api_uninit != NULL )
err = entry.api_uninit();
unload_dcamapi4();
return err;
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_open( DCAMDEV_OPEN* param )
{
if( entry.dev_open == NULL )
return DCAMERR_NOMODULE;
return entry.dev_open( param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_close( HDCAM h )
{
if( entry.dev_close == NULL )
return DCAMERR_NOMODULE;
return entry.dev_close( h );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_showpanel( HDCAM h, int32 iKind )
{
if( entry.dev_showpanel == NULL )
return DCAMERR_NOMODULE;
return entry.dev_showpanel( h, iKind );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_getcapability( HDCAM h, DCAMDEV_CAPABILITY* param )
{
if( entry.dev_getcapability == NULL )
return DCAMERR_NOMODULE;
return entry.dev_getcapability( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_getstring( HDCAM h, DCAMDEV_STRING* param )
{
if( entry.dev_getstring == NULL )
return DCAMERR_NOMODULE;
return entry.dev_getstring( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_setdata( HDCAM h, DCAMDATA_HDR* param )
{
if( entry.dev_setdata == NULL )
return DCAMERR_NOMODULE;
return entry.dev_setdata( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamdev_getdata( HDCAM h, DCAMDATA_HDR* param )
{
if( entry.dev_getdata == NULL )
return DCAMERR_NOMODULE;
return entry.dev_getdata( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_getattr( HDCAM h, DCAMPROP_ATTR* param )
{
if( entry.prop_getattr == NULL )
return DCAMERR_NOMODULE;
return entry.prop_getattr( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_getvalue( HDCAM h, int32 iProp, double* pValue )
{
if( entry.prop_getvalue == NULL )
return DCAMERR_NOMODULE;
return entry.prop_getvalue( h, iProp, pValue );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_setvalue( HDCAM h, int32 iProp, double fValue )
{
if( entry.prop_setvalue == NULL )
return DCAMERR_NOMODULE;
return entry.prop_setvalue( h, iProp, fValue );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_setgetvalue( HDCAM h, int32 iProp, double* pValue, int32 option )
{
if( entry.prop_setgetvalue == NULL )
return DCAMERR_NOMODULE;
return entry.prop_setgetvalue( h, iProp, pValue, option );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_queryvalue( HDCAM h, int32 iProp, double* pValue, int32 option )
{
if( entry.prop_queryvalue == NULL )
return DCAMERR_NOMODULE;
return entry.prop_queryvalue( h, iProp, pValue, option );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_getnextid( HDCAM h, int32* pProp, int32 option )
{
if( entry.prop_getnextid == NULL )
return DCAMERR_NOMODULE;
return entry.prop_getnextid( h, pProp, option );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_getname( HDCAM h, int32 iProp, char* text, int32 textbytes )
{
if( entry.prop_getname == NULL )
return DCAMERR_NOMODULE;
return entry.prop_getname( h, iProp, text, textbytes );
}
/* ---------------- */
DCAMERR DCAMAPI dcamprop_getvaluetext( HDCAM h, DCAMPROP_VALUETEXT* param )
{
if( entry.prop_getvaluetext == NULL )
return DCAMERR_NOMODULE;
return entry.prop_getvaluetext( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_alloc( HDCAM h, int32 framecount )
{
if( entry.buf_alloc == NULL )
return DCAMERR_NOMODULE;
return entry.buf_alloc( h, framecount );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_attach( HDCAM h, const DCAMBUF_ATTACH* param )
{
if( entry.buf_attach == NULL )
return DCAMERR_NOMODULE;
return entry.buf_attach( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_release( HDCAM h, int32 iKind )
{
if( entry.buf_release == NULL )
return DCAMERR_NOMODULE;
return entry.buf_release( h, iKind );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_lockframe( HDCAM h, DCAMBUF_FRAME* pFrame )
{
if( entry.buf_lockframe == NULL )
return DCAMERR_NOMODULE;
return entry.buf_lockframe( h, pFrame );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_copyframe( HDCAM h, DCAMBUF_FRAME* pFrame )
{
if( entry.buf_copyframe == NULL )
return DCAMERR_NOMODULE;
return entry.buf_copyframe( h, pFrame );
}
/* ---------------- */
DCAMERR DCAMAPI dcambuf_copymetadata( HDCAM h, DCAM_METADATAHDR* hdr )
{
if( entry.buf_copymetadata == NULL )
return DCAMERR_NOMODULE;
return entry.buf_copymetadata( h, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_start( HDCAM h, int32 mode )
{
if( entry.cap_start == NULL )
return DCAMERR_NOMODULE;
return entry.cap_start( h, mode );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_stop( HDCAM h )
{
if( entry.cap_stop == NULL )
return DCAMERR_NOMODULE;
return entry.cap_stop( h );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_status( HDCAM h, int32* pStatus )
{
if( entry.cap_status == NULL )
return DCAMERR_NOMODULE;
return entry.cap_status( h, pStatus );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_transferinfo( HDCAM h, DCAMCAP_TRANSFERINFO* param )
{
if( entry.cap_transferinfo == NULL )
return DCAMERR_NOMODULE;
return entry.cap_transferinfo( h, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_firetrigger( HDCAM h, int32 iKind )
{
if( entry.cap_firetrigger == NULL )
return DCAMERR_NOMODULE;
return entry.cap_firetrigger( h, iKind );
}
/* ---------------- */
DCAMERR DCAMAPI dcamcap_record( HDCAM h, HDCAMREC hrec )
{
if( entry.cap_record == NULL )
return DCAMERR_NOMODULE;
return entry.cap_record( h, hrec );
}
/* ---------------- */
DCAMERR DCAMAPI dcamwait_open( DCAMWAIT_OPEN* param )
{
if( entry.wait_open == NULL )
return DCAMERR_NOMODULE;
return entry.wait_open( param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamwait_close( HDCAMWAIT hWait )
{
if( entry.wait_close == NULL )
return DCAMERR_NOMODULE;
return entry.wait_close( hWait );
}
/* ---------------- */
DCAMERR DCAMAPI dcamwait_start( HDCAMWAIT hWait, DCAMWAIT_START* param )
{
if( entry.wait_start == NULL )
return DCAMERR_NOMODULE;
return entry.wait_start( hWait, param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamwait_abort( HDCAMWAIT hWait )
{
if( entry.wait_abort == NULL )
return DCAMERR_NOMODULE;
return entry.wait_abort( hWait );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_openA( DCAMREC_OPENA* param )
{
if( entry.rec_openA == NULL )
return DCAMERR_NOMODULE;
return entry.rec_openA( param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_openW( DCAMREC_OPENW* param )
{
if( entry.rec_openW == NULL )
return DCAMERR_NOMODULE;
return entry.rec_openW( param );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_close( HDCAMREC hrec )
{
if( entry.rec_close == NULL )
return DCAMERR_NOMODULE;
return entry.rec_close( hrec );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_lockframe( HDCAMREC hrec, DCAMREC_FRAME* pFrame )
{
if( entry.rec_lockframe == NULL )
return DCAMERR_NOMODULE;
return entry.rec_lockframe( hrec, pFrame );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_copyframe( HDCAMREC hrec, DCAMREC_FRAME* pFrame )
{
if( entry.rec_copyframe == NULL )
return DCAMERR_NOMODULE;
return entry.rec_copyframe( hrec, pFrame );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_writemetadata( HDCAMREC hrec, const DCAM_METADATAHDR* hdr )
{
if( entry.rec_writemetadata == NULL )
return DCAMERR_NOMODULE;
return entry.rec_writemetadata( hrec, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_lockmetadata( HDCAMREC hrec, DCAM_METADATAHDR* hdr )
{
if( entry.rec_lockmetadata == NULL )
return DCAMERR_NOMODULE;
return entry.rec_lockmetadata( hrec, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_copymetadata( HDCAMREC hrec, DCAM_METADATAHDR* hdr )
{
if( entry.rec_copymetadata == NULL )
return DCAMERR_NOMODULE;
return entry.rec_copymetadata( hrec, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_lockmetadatablock( HDCAMREC hrec, DCAM_METADATABLOCKHDR* hdr )
{
if( entry.rec_lockmetadatablock == NULL )
return DCAMERR_NOMODULE;
return entry.rec_lockmetadatablock( hrec, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_copymetadatablock( HDCAMREC hrec, DCAM_METADATABLOCKHDR* hdr )
{
if( entry.rec_copymetadatablock == NULL )
return DCAMERR_NOMODULE;
return entry.rec_copymetadatablock( hrec, hdr );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_pause( HDCAMREC hrec )
{
if( entry.rec_pause == NULL )
return DCAMERR_NOMODULE;
return entry.rec_pause( hrec );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_resume( HDCAMREC hrec )
{
if( entry.rec_resume == NULL )
return DCAMERR_NOMODULE;
return entry.rec_resume( hrec );
}
/* ---------------- */
DCAMERR DCAMAPI dcamrec_status( HDCAMREC hrec, DCAMREC_STATUS* pStatus )
{
if( entry.rec_status == NULL )
return DCAMERR_NOMODULE;
return entry.rec_status( hrec, pStatus );
}