External Function with a Pointer to a Callback Function Inside a DLL

Hi.
I'm loading a DLL and trying to call a function with the following prototype:
Func1(HANDLE, hHandle, LPVOID (*pCallback)(UINT, UINT LPVOID), CHAR* sPath)
Now, I have no problem with the variable types, because CVI 9.0.1 recognizes all of them and I have no problem with LoadLibrary() nor with GetProcAddress().
But, how do I pass a pointer to a callback that is inside the DLL I'm trying to use.
I've tried to declare the callback like this:
LPVOID (CALLBACK Callback)(UINT iDevNo, UINT evEvent, LPVOID pData);
and call the function Func1 like this:
(Func1)(hHandle, &Callback, NULL);
but this gets me:
 Undefined symbol '_Callback@12' referenced in "source.c".
Hope I can get some help.
I appreciate your time on this issue.
Regards.
Daniel Coelho
VISToolkit - http://www.vistoolkit.com - Your Real Virtual Instrument Solution
Controlar - Electronica Industrial e Sistemas, Lda
Solved!
Go to Solution.

Hi Daniel,
First, you have to make sure that the callback function is exported by the DLL, so that the program that uses the DLL can access the function name identifier. Then, you have to make sure that you call GetProcAddress not just on Func1, but also on the exported callback function. You need to store both function address values in their respective function pointers. You then can pass the callback function pointer as an argument to the Func1 call.
It's probably cleaner if you define typedefs for all your function pointers, in the calling program:
typedef LPVOID (__stdcall *CallbackType) (UINT , UINT, LPVOID);
typedef ??? (__stdcall *Func1Type) (HANDLE, hHandle, CallbackType, CHAR*);
CallbackType     CallbackPtr;
Func1Type        Func1Ptr;
dllHandle = LoadLibrary ("...");
CallbackPtr = (CallbackType)GetProcAddress (dllHandle, "Callback");
Func1Ptr = (Func1Type)GetProcAddress (dllHandle, "Func1");
Func1Ptr (..., hHandle, CallbackPtr, NULL);
Boa Sorte!
Luis

Similar Messages

  • C++: Is it possible using callback function with ncacn_http and rpcproxy server ?

    I have a remote procedure and I can call it using http over rpc. I pass trough an rpc proxy server for arriving to my rpc server.
    But I cannot call a callback function to my client inside the server function.
    Is it possible using callback function with ncacn_http and rpcproxy server ?
    We are using IIS on windows server 2008 R2 and the server rpc and the client on the same PC with rpc rpoxy.
    If I use ncan_ip_tcp all works fine.
    Thanks
    Gianluca

    Hi,
    About the develop question please post to the MSDN forum.
    MSDN forum Developer Network
    http://social.msdn.microsoft.com/Forums/en-US/home?forum=WAVirtualMachinesVirtualNetwork&filter=alltypes&sort=lastpostdesc
    Thanks for your understanding and support.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Callback functionality in Web dynpro

    Dear Experts,
    How i can implement a web dynpro application which gets updates from server without any interaction from the end user? in the same time I dont want to trigger a full refresh using timed trigger as this will slow the application.  is there any functionality like Ajax partial refresh or callback functionality?
    Best Regards
    ebrahime

    >
    ebrahime wrote:
    > Dear Experts,
    > How i can implement a web dynpro application which gets updates from server without any interaction from the end user? in the same time I dont want to trigger a full refresh using timed trigger as this will slow the application.  is there any functionality like Ajax partial refresh or callback functionality?
    >
    > Best Regards
    > ebrahime
    If you want to update with ajax a web dynpro application, you can not do this In CE 7.1 or earlier (I really don't know about 7.11). You can do this for example with a portal application, if it isn't something specific for the wd application you can move it outside and place it somewhere with your wd application, some playing with the pages will do this work.
    You can do another thing: place a portal application, which will be invisible and will call some web service via ajax and use portal eventing to "inform" your we dynpro application. But in this case when you receive the event it will behave like the timer trigger, it will redraw you page.

  • How to implement a callback function using LabView's Call Library Function Node?

    I am trying to call a fuction from a SDK.dll library using the Call Library Function Node. The SDK was provided to
    me and I do not have the source code, just the .dll and .h files.
    The SdkSetPropertyEventHandler function has a callback fuction as one of its parameters. How do I implement the
    callback using the CLF node? I am a good LabView programmer but this is my first time using the Call Library
    Function Node. I have read all the info I can find on NI's web site and the discussion board but cannot figure
    this one out. I am using LabView 8.6.
    The SDK.h deacribes the function as:
    //  Function:   SdkSetPropertyEventHandler
    SdkError SDKAPI SdkSetPropertyEventHandler(
                SdkCameraRef                    inCameraRef,
                SdkPropertyEvent                inEvnet,          
                SdkPropertyEventHandler         inPropertyEventHandler,
                SdkVoid*                        inContext );
    //  Description:
    //       Registers a callback function for receiving status
    //          change notification events for property states on a camera.
    //  Parameters:
    //       In:    inCameraRef - Designate the camera object.
    //              inEvent - Designate one or all events to be supplemented.
    //              inPropertyEventHandler - Designate the pointer to the callback
    //                      function for receiving property-related camera events.
    //              inContext - Designate application information to be passed by
    //                      means of the callback function. Any data needed for
    //                      your application can be passed.
    //      Out:    None
    //  Returns:    Any of the sdk errors.
    A separate header file called SDKTypes.h contains the following data:
    typedef  SdkUInt32  SdkPropertyEvent;
    typedef  SdkUInt32  SdkPropertyID;
    typedef  void       SdkVoid;
    typedef  struct __SdkObject*    SdkBaseRef;
    typedef  SdkBaseRef    SdkCameraRef;
     SdkPropertyEventHandler
    typedef SdkError ( SDKCALLBACK *SdkPropertyEventHandler )(
                        SdkPropertyEvent        inEvent,
                        SdkPropertyID           inPropertyID,
                        SdkUInt32               inParam,
                        SdkVoid *               inContext );
    Thanks for your help.
    Alejandro
    Solved!
    Go to Solution.

    alejandroandreatta wrote:
    I am trying to call a fuction from a SDK.dll library using the Call Library Function Node. The SDK was provided to
    me and I do not have the source code, just the .dll and .h files.
    The SdkSetPropertyEventHandler function has a callback fuction as one of its parameters. How do I implement the
    callback using the CLF node? I am a good LabView programmer but this is my first time using the Call Library
    Function Node. I have read all the info I can find on NI's web site and the discussion board but cannot figure
    this one out. I am using LabView 8.6.
    Basically you do not do that. LabVIEW does not know pointers and certainly not function pointers. What you should do instead is writing a C DLL that implements the callback and also exports a function to be called by LabVIEW that translates between the callback and a LabVIEW user event. Look for PostLVUserEvent() here on the NI site to find examples how to do that.
    Rolf Kalbermatter
    Message Edited by rolfk on 02-11-2009 08:00 PM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to call a function with pl/sql

    How does one call a function with pl/sql that uses a function?

    Hi,
    How does one call a function with pl/sql that uses a
    function?I'm not sure what you mean.
    In PL/SQL function can be used just about anywhere where an expression (with the same data type that the function returns). Arpit gave a very common example.
    Here's another example, where all the functions take a single NUMBER argument and return a NUMBER, so they can all be used in places where NUMBERs are used:
    IF  fun_a (fun_b (0)) < fun_c (1)
    THEN
        UPDATE  table_x
        SET     column_y = fun_d (2)
        WHERE   column_z = fun_e (ROUND ((fun_f (3), fun_g (4)));You call a function simply by using its name, followed by its argument list, if any.
    If the function is in a package, you must call it with the package name, like "pk_foo.bar (1, 2, 3)", unless the call comes from within the same package.
    If the function is owned by someone else, you must give the owner name, like "scott.bar (SYSDATE)" or "scott.pk_foo.bar (1, 2, 3)". You can create synonyms to avoid having to name the owner.

  • Documentation of Callback Function Schemes incomplete

    The third paragraph of the help (CVI2010) on Callback Function Schemes says:
    The main callback function is the only type of callback function that responds to EVENT_END_TASK. This event occurs only under Windows when the user is trying to exit Windows.
    This information appears to be incomplete: EVENT_END_TASK also occurs if the program is closed via the taskbar button.
    Solved!
    Go to Solution.

    Thanks, Wolfgang. We'll fix it.
    Luis

  • Memory leak with callback function

    Hi,
    I am fairly new to LabWindows and the ninetv library, i have mostly been working with LabVIEW.
    I am trying to create a basic (no GUI) c++ client that sets up subscriptions to several network variables publishing DAQ data from a PXI.
    The data for each variable is sent in a cluster and contains various datatypes along with a large int16 2D array for the data acquired(average array size is 100k in total, and the average time between data sent is 10ms). I have on average 10 of these DAQ variables.
    I am passing the same callback function as an arguement to all of these subscriptions(CNVCreateSubcription).
    It reads all the correct data, but i have one problem which is that i am experiencing a memory leak in the callback function that i pass to the CNVCreateSubscription.
    I have reduced the code one by one line and found the function that actually causes the memory leak, which is a CNVGetStructFields(). At this point in the program the data has still not been passed to the clients variables.
    This is a simplified version of the callback function, where i just unpack the cluster and get the data (only showing from one field in the cluster in the example, also not showing the decleration).
    The function is passed into to the subscribe function, like so:
    static void CNVCALLBACK SubscriberCallback(void * handle, CNVData data, void * callbackData);
    CNVCreateSubscriber (url.c_str(), SubscriberCallback, NULL, 0, CNVWaitForever, 0 , &subscriber);
    static void CNVCALLBACK SubscriberCallback(void * handle, CNVData data, void * callbackData)
    int16_t daqValue[100000];
    long unsigned int nDims;
    long unsigned int daqDims[2];
    CNVData fields[1];
    CNVDataType type;
    unsigned short int numFields;
    CNVGetDataType(data, &type, &nDims);
    CNVGetNumberOfStructFields (data, &numFields);
    CNVGetStructFields (data, fields, numFields); // <-------HERE IS THE PROBLEM, i can comment out the code after this point and it still causes a memory leak.
    CNVGetDataType(fields[0], &type, &nDims);
    CNVGetArrayDataDimensions(fields[0], nDims, acqDims);
    CNVGetArrayDataValue(fields[0], type, daqValue, daqDims[0]*daqDims[1]);
    CNVDisposeData(data);
    At the average settings i use all my systems memory (4GB) within one hour. 
    My question is, have any else experienced this and what could the problem/solution to this be?
    Thanks.
    Solved!
    Go to Solution.

    Of course.....if it is something i hate more than mistakes, it is obvious mistakes.
    Thank you for pointing it out, now everything works

  • Edge Triggered Callback Function with E Series DAQCard

    Hardware: DAQCard-AI-16XE-50
    Software: NI-DAQ 6.9.1 call from C++
    Q- Does anyone have sample code to initiate a callback function in C++ when a pulse edge is input to a DAQCard-AI-16XE-50? I am using ACH1 as the input channel. Pulse edge occurance will be low duty cycle.Below code doesnt work..
    (I could use a latch & poll but edge triggering would be cleaner!)
    status = Set_DAQ_Device_Info(1,ND_AI_FIFO_INTERRUPTS,
    ND_INTERRUPT_EVERY_SAMPLE);
    retValue=NIDAQErrorHandler(status,"Set_DAQ_Device_Info (FIFO Interrupts)",0);
    status = Set_DAQ_Device_Info(1,ND_DATA_XFER_MODE_AI,
    ND_INTERRUPTS);
    retValue=NIDAQErrorHandler(status,"Set_DAQ_Device_Info",0);
    status = Config_ATrig_Even
    t_Message(1,1,"AI1",3,1,1,0,
    0,0,0,0,(unsigned int)EdgeCallbackFunction);
    retValue=NIDAQErrorHandler(status,"Config_ATrig_Event_Message",0);
    Thanks Millions if you help!!

    Hi kittyKat,
    The easiest way to create an interrupt service routine or callback function triggered on a digital edge is to use DAQ Event Messaging. In C, you can program for your DAQ board by using the function Config_DAQ_Event_Message. The different events you can account for are:
    DAQ Event type 0 � Acquire or Generate N Scans
    DAQ Event type 1 � Every N Scans
    DAQ Event type 2 � Completed Operation or Stopped by Error
    DAQ Event type 3 � Voltage out of bounds
    DAQ Event type 4 � Voltage within bounds
    DAQ Event type 5 � Analog Positive Slope Triggering
    DAQ Event type 6 � Analog Negative Slope Triggering
    DAQ Event type 7 � Digital Pattern Not Matched
    DAQ Event type 8 � Digital Pattern Matched
    DAQ Event type 9 � Counter Pulse Event
    If you are not
    using your analog input on your DAQ board, you can setup an analog input and use your external signal as an external clock. This would involve you using one of the shipping examples for analog input with an external clock and adding the DAQ Event Messaging for Event 1 and have the interval be 1 value. Therefore, your callback function will be called every scan or every time your signal pulses high (as the external clock). I've included some useful resources below.
    Using DAQ Event Messaging under Windows NT/95/3.1
    http://zone.ni.com/devzone/conceptd.nsf/webmain/159C194435C8CA5786256869005EF6AE?opendocument
    DAQ Events and Occurrences
    http://digital.ni.com/public.nsf/websearch/9F3DAD3E227E4203862566C2005B11EB?OpenDocument
    Hope that helps. Have a good day.
    Ron
    Applications Engineering
    National Instruments

  • Can't use voice/video functionality with external domain connected users through federation

    Hello All,
    Hope you keeping well..!!
    We are communicating with external customers lync server through federation option setup on our corporate lync server.  We have received the federation setting from the customer with SIP address which has been setup on our corporate lync servers after
    that we were able to browse the customer contact through corporate lync account.
    We were also able to chat with external customer but however voice/video functionality are not working through same session.  Whenever we try to dial out external customer lync account it ended with error message "call ended due to network issue".
    We have checked the setting from corporate lync servers and network point of view but doesn't find any issue which cause the disconnection to voice/video over lync.  Could you pl help or guide with the way to resolve the issue.
    Thanks, MK

    Thanks for your reply.<o:p></o:p>
    Audio/Video works fine within corporate when dial any lync contact.  We only have issue while trying to use the same functionality with any other
    external lync contact configured over federation option.<o:p></o:p>
    We already checked the security rules and all required ports are open, as confirmed by local resolver group.<o:p></o:p>
    We have checked with external parties and according to them their systems are hosted by Microsoft as part of office 365 suite and they already have
    federation option for 17 different customers which works fine.  Which means issue must be your local end.<o:p></o:p>
    Is there any tool available to identify the issue from client end?<o:p></o:p>
    Also I have a question here....In my corporate environment...client is sitting in India and lync servers are hosted in UK and users connect to it
    over MPLS route.  In Client lync configuration we have  internal/external servers configured .....so when i tried to make a voice call with external lync users then I see from netstat -a command that traffic hitting to multiple public IP addresses
    directly from my machine..<o:p></o:p>
    Does it mean that client required internet connectivity with specific open media ports to connect with external parties for video/voice? or in ideal
    case all request should handle by corporate internal server which should took UK internet path to connect with external lync contact?
    Thanks, MK

  • Queue with callback function not dequeuing

    Hi,
    I would like to ask you for help or for a hint regarding our problem with the queue:
    A trigger is enqueuing to a queue. This works fine, but the callback function is never called. The queue already worked for a while, but since i changed something at the procedure called by the callback it does not work anymore.
    I already have tried the following:
    -Stopping and restarting
    -Dropping and recreating (with the scheduler having no jobs anymore)
    -Dropping, restarting the database and recreating
    None of these worked. Where do I fail, when considering that the queue with the same scripts worked already? I post the script for creating the queue and adding the subscriber:
    CREATE OR REPLACE TYPE pat_history_queue_payload_type AS OBJECT
    ( TSTAMP VARCHAR2(22 CHAR),
    TYP VARCHAR2(10 CHAR),
    DELTA_MENGE NUMBER,
    ORIGIN VARCHAR2(1 CHAR),
    TEXT VARCHAR2(1000 CHAR),
    QL_TSTAMP VARCHAR2(22 CHAR)
    BEGIN
    DBMS_AQADM.CREATE_QUEUE_TABLE (
    queue_table => 'pat_history_queue_table',
    queue_payload_type => 'pat_history_queue_payload_type',
    multiple_consumers => TRUE
    END;
    BEGIN
    DBMS_AQADM.CREATE_QUEUE (
    queue_name => 'pat_history_queue',
    queue_table => 'pat_history_queue_table',
    max_retries => 10
    DBMS_AQADM.START_QUEUE (
    queue_name => 'pat_history_queue'
    END;
    BEGIN
    DBMS_AQADM.ADD_SUBSCRIBER (
    queue_name => 'pat_history_queue',
    subscriber => SYS.AQ$_AGENT(
    'pat_history_queue_subscriber',
    NULL,
    NULL )
    DBMS_AQ.REGISTER (
    SYS.AQ$_REG_INFO_LIST(
    SYS.AQ$_REG_INFO(
    'pat_history_queue:pat_history_queue_subscriber',
    DBMS_AQ.NAMESPACE_AQ,
    'plsql://PAT.HISTORY_QUEUE_DISTRIBUTION.CALLBACK',
    HEXTORAW('FF')
    1
    END;
    The function CALLBACK which is called by the queue, is never called, I checked that with log messages. Also the package that contains the function is compiled ok.
    Thanks.
    Roland

    Hi,
    Does the subscription show up correct in sys.reg$ ?
    Regards,
    Harry
    http://dbaharrison.blogspot.com/

  • Need an example how to use SCAN_Start with a callback function

    I would appreciate if someone helps me with a working example of how to use SCAN_Start with a callback function. I need just a basic functionality: to specify a channel list (with gains probably), to start a data acquisition task and to receive data buffers utilizing a callback function. t this time whatever I was trying to do caused computer hangups, though it is supposed to be one of the most regular tasks to perform.
    Thank you in advance,
    Mike

    Hello Mike,
    Thank you for contacting National Instruments.
    Attached is an example project which uses a callback function to begin analog acquisition (AI) by calling SCAN_Start. This project acquires from the first 2 channels on your DAQ device. Make sure to modify the device number in the code to match the number of your card.
    Let me know if you have any further questions...
    Sincerely,
    Sean C.
    Applcications Engineer
    National Instruments
    Attachments:
    Acquire_multichannel_61xx.zip ‏11 KB

  • Replace Sybase callback functions with OCI

    Has anybody replaced the Sybase error and message callback functions with the OCI callback capability? If so, I would be interested in discussing any lessons learned that you might have.

    Has anybody replaced the Sybase error and message callback functions with the OCI callback capability? If so, I would be interested in discussing any lessons learned that you might have.

  • Queue with callback function - strange behaviour when using max_retries

    Hi,
    I hope someone can tell me what is wrong or can explain the following strange behaviour to me.
    I am using one queue with a registered callback function. To test the behavoiur in case of an error I tested different settings, with or without explicit exception queue and with or without parameter max_retries.
    Database Version is 11.2.0.2.   Enterprise Edition
    I enqueue 10 messages in a loop.
    I define no exception queue and do not set max_retries
    ==> all messages stay in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 5
    I define no exception queue and set max_retries = 4
    ==> 1 message stays in the queuetable with q_name = AQ$_... (implicit exception queue) and retry_count = 4
           9 messages stay in the queuetable with q_name = nomal queue name and retry_count = 0
    I define an exception queue and set max_retries = 4
    ==> 1 message is transfered to the Exception Queuetable with retry_count = 4
           9 messages stay in the normal Queuetable and retry_count = 0
    I define an exception queue and do not set max_retries
    ==> all 10 messages are transferred to the Exception Queuetable with retry_count = 5
    I have no explanation for the behaviour in case 2 and case 3.
    To create the queue and the callback I use this code (reduced to minimum):
    begin
       DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE'
                              , queue_table => 'TESTUSER.TEST_TABELLE'
    --                          , max_retries => 4                     uncomment this line to set max_retries
    -- uncomment the following Block to use an explicit Exception Queue
    /*   DBMS_AQADM.CREATE_QUEUE_TABLE(Queue_table        => 'TESTUSER.TEST_TABELLE_EXC'
                                   , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
                                   , sort_list          => 'enq_time'
                                   , multiple_consumers => FALSE
       DBMS_AQADM.CREATE_QUEUE( queue_name  => 'TESTUSER.TEST_QUEUE_EXC'
                              , queue_table => 'TESTUSER.TEST_TABELLE_EXC'
                              , queue_type  => dbms_aqadm.EXCEPTION_QUEUE);
       DBMS_AQADM.START_QUEUE('TESTUSER.TEST_QUEUE');
    end;
    create or replace procedure test_procedure
      (context  RAW
      ,reginfo  sys.AQ$_reg_info
      ,descr    sys.AQ$_descriptor
      ,payload  VARCHAR2
      ,payloadl NUMBER
      ) authid definer
      IS
      -- für Queue
      dequeue_options   DBMS_AQ.dequeue_options_t;
      message_prop      DBMS_AQ.message_properties_t;
      message_hdl       raw(16);
      message           sys.aq$_jms_text_message;
      l_daten           VARCHAR2(32767);
      ex_hugo          EXCEPTION;
      BEGIN
        dequeue_options.msgid         := descr.msg_id;
        dequeue_options.consumer_name := descr.consumer_name;
        dbms_aq.dequeue(descr.queue_name, dequeue_options, message_prop, message, message_hdl);
        -- to provoke an error
        RAISE ex_hugo;
        -- regurlar coding
        commit;
    exception
      when others then
           rollback;
           RAISE;
    end;
    DECLARE
       reginfo1    sys.aq$_reg_info;
       reginfolist sys.aq$_reg_info_list;
    BEGIN
       reginfo1 := sys.aq$_reg_info('TESTUSER.TEST_QUEUE', DBMS_AQ.NAMESPACE_AQ, 'plsql://TESTUSER.TEST_PROCEDURE?PR=0',HEXTORAW('FF'));
       reginfolist := sys.aq$_reg_info_list(reginfo1);
       sys.dbms_aq.register(reginfolist, 1);
       commit;
    END;
    to enqueue my messages i use:
    DECLARE
      message            sys.aq$_jms_text_message;
      enqueue_options    dbms_aq.enqueue_options_t;
      message_properties dbms_aq.message_properties_t;
      msgid              raw(16);
      v_daten            clob;
    BEGIN
       message := sys.aq$_jms_text_message.construct;
       for i in 1..10
       loop
          v_daten := '{ dummy_text }';
          message.set_text(v_daten);
    -- uncomment the following line to use an explicit Exception Queue     
    --      message_properties.exception_queue := 'TESTUSER.TEST_QUEUE_EXC'; 
          dbms_aq.enqueue(queue_name         => 'TESTUSER.TEST_QUEUE',
                          enqueue_options    => enqueue_options,
                          message_properties => message_properties,
                          payload            => message,
                          msgid              => msgid);
          message.clear_properties();
       end loop;
       commit;
    END;

    Hi Chris,
    I tried to reproduce your complaint, but was unable to. I didnt use auditting however, just a series of "select user from dual" with proxy authentication. You might want to see if you can put together a small complete testcase for this and open a sr with support.
    Cheers
    Greg

  • External HDD with Partitions not functioning in Yosemite

    I was part of the Public Beta for Yosemite and didn't have any issues. But since upgraded to the full version of Yosemite, by external HDD with 2 partitions (one for files and one for Time Machine) has been acting strangely. I can still access (read/write) the partitions with my files on. But the Time Machine Partition doesn't mount and is greyed out in Disk Utility. I have tried to repair, erase, reformat the drive but none of these options work because it says that it can't access the drive (because it won't mount). I don't have access to a non-Yosemite Mac at the moment, but even so, I still need to use the HDD on my Yosemite Mac. Any suggestions?

    I had exactly the same problem after installing Yosemite.  Had the drive checked out by a local PC repair company who could not find anything wrong with the HD (Segate) but suggested I checkout the warrantee.  I tried using the Apple disk verification and repair tools - hopeless.  So I returned the drive to Seagate who replaced it with another "re-certified" drive.  I was not comfortable with using this as it had (in theory) failed; so might another second hand unit. So I bought a new Western Digital which does the job.  No changes to the operating system needed.
    This leave me with a strange taste in my mouth! 
    Was the original drive faulty or not (Seagate didn't tell me what was they simply replaced it)?
    Did Yosemite trash the dish - I will never know?
    Why did the WD HD work and not the Seagate?
    Life is too short - I moved on - but it did cost me over £100 to restore my backup facility for no apparent reason.
    PS the Seagate replacement is now used for backing up a laptop - OS Windows Vista - no problems...........

  • Call DLL function with pointer to simple struct

    Hello,
    I try to call a function using CLFN. My problem is the parameters of the function I try to access.
    Here is the function and his parameter:
    typedef struct {
    int major;
    int minor;
    int revision;
    int build;
    } VersionNumberType;
    int Comm_BTE_softVersion( VersionNumberType *pVersion)
    BYTE byBuffer[2048] ;
    if( !Comm_BTE_readYMem( byBuffer,COMM_BTE_TX14_SOFTVERSIONADDR,
    COMM_BTE_TX14_SOFTVERSIONSIZE))
    return FALSE ;
    //. process the answer
    pVersion->major = (int) (byBuffer[0] & 0xFF) ;
    pVersion->minor = (int) (byBuffer[1] & 0xFF) ;
    pVersion->revision = (int)( byBuffer[2] & 0xFF) ;
    pVersion->build = (int) ((int) ( byBuffer[4] << 8) ) | ((int) ( byBuffer[5] ));
    return TRUE ;
    } //. end Comm_BTE
     In attached file there is the Comm BTE soft Version.vi that try to access this function. The code crashes when the function is called and labVIEW is closed.
    I probably don't pass the data parameters correctly to the CLFN.
    Thanks for help.
    Regards. NewCLAD.
    Solved!
    Go to Solution.
    Attachments:
    Comm BTE soft Version.vi ‏13 KB

    Everything is configured correctly EXCEPT the numeric representation of the values in the cluster. They must match int, which is most likely 32 bits on your platform. In your VI, they are U8.

Maybe you are looking for

  • Slow start-up for JSF projects on Sun Java System Application Server 8.2?

    App. Server: Sun Java System Application Server 8.2 I really don't understand why a JSF project starts-up so slow on Sun Java System Application Server 8.2. I've gone through the "Overview of Sun Java System Application Server Performance" guide and

  • Axis SOAP Adapter - Setting MIME headers for attachements (Handlers?)

    Hello, I need to know if/how it is possible to set the individual MIME headers of the parts making up a multipart/related SOAP message using only standard Axis Handlers e.g. "com.sap.aii.axis.xi.XI30DynamicConfigurationHandler" (as described in the A

  • Scale parameter

    Hello everyone. I m trying to create a parameter with 2 or 3 dimension. Actually just like the scale parameter. I tried to create it with PF_ADD_POINT, but it does not work by default with 3 dimension. How to specify that i want three dimensions? I d

  • IPhoto 11 Share to Facebook is Broken

    Since last week, every time I try to share anything with Facebook I get a blank album even though iPhoto goes through the full upload process. I have tried the following: Remove iPhoto app settings from Facebook Remove Facebook account from iPhoto Re

  • MAJOR Ipod Mini Issues!!! HELP PLEASE!

    Oh My~lanta! I am just about at my wit's end w/ this too!!! I'm experiencing the same problems although it seems like everyday I get a new error message!!!! My computer crashed back in December and ever since, my IPOD has not been the same. I thought