DLL, interfacing with which coexist value and reference types

Currently, I'm working with a supplied DLL.

I have header files and everything and the DLL import wizard does a decent job of importing DLL functions but there are certain types of data that cannot simply be dealt with.

The DLL requires the use of a data type that is a structure with data reference and value types.  I could theoretically replace the references by simple U32s, but much of the information required in the data is in the data referenced by the pointers structures.

How can I do to implement this light how do I have to be able to transmit data to the DLL in its original form (value and reference types).

I have something like the following:

struct point {}

Int device,

* The point then

* Previous item

* Data Datastruct

}

I downloaded the Microsoft WDK, CVI and Visual Studio 2008 available.  I'm not very experienced in this end of things...   I will dispose of Structs with pure value types, but how do I get the data in reference types?

I strongly suspect that I need a wrapper DLL, but how is the best way to go about this?

Shane.

Shane,

It's always a problem when you use a DLL.

If you do not have the sources of the DLL, you must trust the description of it.

(Or you will have to disassemble to be sure, which is forbidden in most cases )

If (in your case), the linked list is handled elsewhere than your Labview code, you will get in trouble. (Added, deleted, or modified items)

I don't know your DLL. But usually the data is stored inside the DLL. For example, I have a DLL function that reads a counter from a DAQ hardware. If I reset it (on its reset settings), it sends back the nuber of counted events. This DLL must not be initalized.

Other hardware DAQ I use must be initalized using its DLLS before you read all the values.

It all depends on the implementation of your DLL.

You have a detailed description of your DLL?

Balze

Tags: NI Software

Similar Questions

  • Call-by-value and call by reference

    Hi people,

    I hit Google to get to this simple answer but no were I could find a decent answer on this one. Can anyone tell me how do I pass a parameter by value and not by reference in Flex?

    In my main mxml file, I have this model I have go to a TitleWindow:

    [Bindable] private var preferencesModel:XML;

    private function preferencesPopup (): void {}
    var prefWindow:Preferences = preferences (PopUpManager.createPopUp (this, preferences, true));
    prefWindow.preferencesFile = files;
    -> prefWindow.preferencesModel = preferencesModel;
    }

    If I change this model in my popup window preferably change also in my screen, I don't want so I would like to pass this last line by VALUE, not by REFERENCE. Any idea?

    Edit: Oh! Just re-read your code and noticed that preferencesModel is an XML file. In this case, the solution is simple:

    prefWindow.preferencesModel = preferencesModel.copy ();

    That will move a copy of your XML file to the window, instead of the original XML instance.

    In any case, my comments below still stand until passing by value and the reference are concerned, and for the custom classes, the code is still valid. :)

    ActionScript 3 follows the rules of Java style when passing by value and reference - i.e. the primitives are always passed by value, and object are always passed by reference. To my knowledge, there is no operator to explicitly indicate the passing by value and by reference in AS3.

    To remedy this, you will need to add some sort of feature that creates a new object of your class instance, copy all the property values of the original object in a new, then retransmits the new object.

    Let's say you add a method called "clone" to your class:

    public function clone (): PreferencesModel
    {
    var newPrefModel:PreferencesModel = new PreferencesModel();
    newPrefModel.propertyOne = this.propertyOne;
    newPrefModel.propertyTwo = this.propertyTwo;

    [etc.]

    Return newPrefModel;
    }

    Then, in the code above, you would change the line to:

    prefWindow.preferencesModel = preferencesModel.clone ();

    In this way, prefWindow will refer to a copy of your preferencesModel object, instead of the original.

    I hope this helps!

  • IP IVR interfacing with SAP

    We are about to implement the Cisco IP IVR linking to our AS / 400. We have it with our current IVR, so it's easy. In a few months, we operate off the coast of the AS400 to an implementation of SAP for inventory and accounts of users and all this other nonsense. Someone has interfaced with success the IVR and SAP to let me know if this is possible?

    I guess you have to go through third-party programs, such as Java and VXML. We have a customer who use Java with Websphere measures.

    Wei

  • List of SelectOneChoice with a special value which allows another element of input text

    Hello

    My clients needs a page with a selectOneChoice component and a special value in it ('other'), which should allow another piece of text.

    What is the best practice for whom?

    I use Jdev 12.1.2

    Thanks experts!

    Hi Jose,

    If you have added the 'other' value in the table, then all you need to do is the following:

    The area you want to hide, should be with the property visible as #{bindings.mylov.attributeValue eq 'other'}. Now you SelectOne | Choice must be with autosubmit-> true, and finally, the area you want to hide must have a partialTrigger pointing to the SelectOneChoice.

    In this way, if you select 'other' the autosubmit updates the model, this expression bindings.mylov.attributeValue eq 'other' will be set to true, and you will make a PPR in the hidden component that will appear.

    Concerning

  • I have a column with two values, separated by a space, in each line. How to create 2 new columns with the first value in a column, and the second value in another column?

    I have a column with two values, separated by a space, in each line. How do I create 2 new columns with the first value in one column and the second value in another column?

    Add two new columns after than the original with space separated values column.

    Select cell B1 and type (or copy and paste it here) the formula:

    = IF (Len (a1) > 0, LEFT (A1, FIND ("", A1) −1), ' ')

    shortcut for this is:

    B1 = if (Len (a1) > 0, LEFT (A1, FIND ("", A1) −1), ' ')

    C1 = if (Len (a1) > 0, Member SUBSTITUTE (A1, B1 & "", ""), "")

    or

    the formula of the C1 could also be:

    = IF (Len (a1) > 0, RIGHT (A1, LEN (A1) −FIND ("", A1)), "")

    Select cells B1 and C1, copy

    Select cells B1 at the end of the C column, paste

  • I changed the my imac with a new drive and I lost the original CD/DVD which came with the new Mac.

    I changed the my imac with a new drive and I lost the original CD/DVD which came with the new Mac.

    and when I go to install the mac lion antiracism apple with reticle logo means error

    what can I do with these

    Please help money

    You can get the replacement system install & Restore CD/DVD of the customer support of Apple - to the United States, (800) 767-2775-for a sum low S & h. you will need to have the model or the serial number of your Mac available.

    If you are not in the United States, you may need to go through the regional Apple Store that serves your location to find the phone number. Here is a list of links to all - http://store.apple.com/Catalog/US/Images/intlstoreroutingpage.html , another resource: International Support Phone #s.

  • Get the message "This Mac cannot connect to iCloud due to a problem with my Id, open Preferences to solve iCloud iCloud" after entering my password which is accepted and then after a minute or two messages is.

    Get the message "This Mac cannot connect to iCloud due to a problem with my Id, open Preferences to solve iCloud iCloud" after entering my password which is accepted and then after a minute or two messages is.

    I'm your pain ptapp!

    Through my research for an answer that solves this problem, I have found that not even Apple knows how to solve this problem of password to iCloud.

    All 4 of my devices constantly ask my password because of some problems with xyz account.

    Then I enter the password only to be told that iCloud cannot check my password.

    Then after several repetitions of this I get locked and have to go to the site apple id to change my password.

    I didn't spend $6 000 on these beautiful devices so I could spend countless hours dealing with support (with no positive result) and find themselves just beyond myself in frustration. I have a Mac Pro, 2 iPads, 2 iPhones and an iPod touch. All are behaving this way, no matter what it is I'm doing at the time.

    Apple needs to fix this problem, if they have any idea how to.

  • Increment and decrement with a Boolean value entered

    Hello Experts Labview (and in fact life savers!)

    I have a digital controller (button) in my VI, digital indicator, in addition to a Boolean of power input.

    As an initial state, the digital display will contain a certain value (zero for example) and will only receive the variation in the button entry as long as the Boolean is true, and then add it to this initial value.

    What is the change ? lets say that the button was on 8 before I touched the Boolean true, the value of the indicator is zero, and then I hit the Boolean true.

    Now, when I move the button from 8 to 18 years (variation of + 10) , I want to receive the indicator + 10 and add it to the zero, now the result is 0 + 10 = 10

    Now, the value is false, I move the button and nothing happens to the in the indicator 10.

    Now, the Boolean value is true once again, let's say the button was about 4 at the time, I hit the Boolean true and it spend 4 to 1 (change-3) , the indicator value will now be 10 + (-3) = 7

    I hope I explained the idea in a clear manner, I would be very grateful if someone could help me with this.

    P.S. I have attached only the vi to illustrate the idea.

    Thanks in advance

    You care only remarks how the button changed.  Therefore, you must subtract the old value and the new value to get how to change the button.  Then add inside the structure of the case, this difference to your value that belongs in the registry to offset.

  • A dynamic event - handle the two event 'user' and "value change" reference

    Hello everyone,

    I'm trying to manage in a structure unique event two upcoming events of the change in value of references and user events.

    However, these two types are looking for bundles. Someone has already tried to do something like that?

    Thank you

    Alessandro

    Do not use 2 register for events in a single node node add events and the Coachman.

  • A module C - DAQ exists which will interface with standard RV - C?

    Module C - DAQ exists that if interface with standard RV - C (vehicles recreational CAN)? RV - C seems to be a variant of J1939 according to Wikipedia.

    I would use 9861 OR or NI 9862. I'm new on CAN protocol and evaluate some assistance.

    I've never used RV - can, but according to Wikipedia, the rate is 250Kbaud, so you'll want high speed CAN peripheral, 9862, you can set baud rate on init of the material.  After installing XNet and cDAQ software, you have a max bus monitor and several examples in the example Finder to read and write raw images.  After that, you'll want to read on the standard to understand how to format and analyze the data.

    Also if you have any questions, you can post on the Sub-forum Auto , they can probably answer more specific questions.

  • When I delete the "screensaverissecure" with the registry value, it reappears again in the registry after I stop and start the system the next day. Help, please

    When I delete the "screensaverissecure" with the registry value, it reappears again in the registry after I stop and start the system the next day. Help, please
    use widows xp

    Hello

     
    1. Have you tried to Hibernate for ever in the power settings option?
     
    To resolve this problem, you can follow the steps below.
     
    (a) click and start
    (b) type power Option in the start search bar.
    (c) now select click Change plan for the current plan of the selected power.
    (d) now click on advanced power settings.
    (e) scroll down and click on the sign more next to sleep.
    (f) now click on allow the eve hybrid and turn it off.
    (g) click on the option put into hibernation after and set it to never.
     
  • How do I take a VISTA system which has a drive with a C and D partition and combne in C only a partition with the storage of which was C and D?

    How do I take a VISTA system which has a drive with a C and D partition and combne in C only a partition with the storage of which was C and D?

    Hello

    Make sure that D: is not the partition recovery including the manufacturer put there to make the recovery disks from and eventually to return your computer to how you bought

    You cannot combine C: and D: and their data using the Vista Disk Manager

    with Vista, you will need to save the data on D: - D: delete - and then extend C: into the now unallocated space where D: was to do a 1 partition 2

    read the tutorial below

    How to remove and extend a Partition with Vista disk management

    http://www.Vistax64.com/tutorials/95418-disk-management-delete-extend.html

  • When I try to open Firefox and explore, I get a menu of recommended programs and asked me to choose the program with which to open the file.

    Original title: open Firefox and explore

    When I leave early to Mozilla Firefox or Explorer, I get a menu of recommended programs and asked me to choose the program with which to open the file. When I do, I get a security warning asking if I really want to do. If I check "Run", I get redirected to the previous list, and I find myself in a circle without end. It does not matter what choice to make. Used to be that I went from starting Firefox directly.  I can get in if I have Firefox right click and choose to run the file as an administrator and then give permission to open the program. How can I cut these two additional and direct access, that I used to enjoy. I run Vista. The same thing happens if I have to explore. Would be grateful for the help.

    Hello

    1 during how long have you had the problem?
    2. don't you make changes to your computer before the problem?

    I suggest that you follow the steps below and check if the problem persists.

    Method 1:

    When you run an .exe on a Windows Vista-based or Windows 7 computer file, the file may start another program
    Method 2:
     
    Step 1:
     
    Make SFC scan and check if this is related to missing or damaged system files.
     
    Step 2:
     
    After the SFC scan, set the file association and check.

    Method 3:

    Test the issue in a new user account .
     
    See also:
  • Envy 17 2180el can I add a second hard drive, and then choose bios/boot of the system with which to start?

    Envy 17 2180el can I add a second hard drive, and then choose bios/boot of the system with which to start?

    in the case give me the link of a hard disk of type to add

    Hello

    While you can certainly add another HARD drive in the Bay of secondary drive (you must also support and the connection cable) you can't boot from it - only in the Bay of primary HARD drive is bootable.

    Kind regards

    DP - K

  • WinHTTP.dll does not work with TLS 1.1 and TLS 1.2

    We cannot send https requests to our payment processors using windows 7 with winhttp.dll or msxml6.dll because it is not support TLS 1.1 and TLS 1.2

    on Windows 7 and windows 2008 R2 server I have the same version of winHTTP.dll 6.1.7601.17514;

    winHTTP.dll version 6.1.7601.17514 does not work with TLS1.1 and TLS 1.2

    WindowsServer 8.1 and windows 2012 I have winHTTP.dll version 6.2.9200.16451
    winHTTP.dll version 6.2.9200.16451 works well

    Here is a sample of my test code:
    Set obj = CreateObject ("WinHttp.WinHttpRequest.5.1")
    obj. Open "COMPUTER", "https://www.paymnt.com/".
    obj. SetTimeouts 30000, 60000, 60000, 60000
    obj. SetRequestHeader 'Content-Type', ' application/x-www-formulaires-urlencoded.
    obj. Option (6) = false ' disable redirects
    obj. Option (9) = 512' force TLS 1.1 - error
    "obj. Option (9) = 2048' force TLS 1.2 - error

    How can we improve the winhttp.dll version or msxml6.dll in windows 7 to work with TLS 1.1 and TLS 1.2?

    This is the e eprint screen with winHTTP.dll version 6.1.7601.17514

    This issue is beyond the scope of this site (for consumers) and to be sure, you get the best (and fastest) reply, we have to ask either on Technet (for IT Pro) or MSDN (for developers)
    *

Maybe you are looking for

  • Electrify: Installation of Motorola Yahoo Mail does not work

    I recently had to do a factory rest because the Electrify rebooted continuously for 3 hours. I already had my 2 yahoo email accounts Setup using Yahoo Mail configuration in the application of accounting. However, now I can not add by using this optio

  • delay button

    Hello I have a problem with this VI. I have a time delay when I press a key (business or home). There is a delay for appearing and disappearing items I want to see all time ttat I press a button. No idea how I can solve it? This delay occurs because

  • LifeCam PIN required

    I have the new motion detection software that wants my Microsoft lifecam PIN. How can I find it?

  • TextField (s) custom

    Hey guys,. I have no problem to create my own buttons and graphics using the BlackBerry SDK more. However, I seem to have a problem when the override of the method object fields that allow an entry. For example, when I take a TextField and try the ba

  • BlackBerry Email Setup - Curve 8520 smartphones

    Hi, trying to set up my email on my Curve 8520 replacement after the pad stopped working. It is, I have only one option: "I want to use a professional email with BlackBerry Enterprise Server account. This is my third Curve 8520 in less than two years