Passing a cluster with array to a dll

Hi,
I'll trying to call GetVersionEX Function from kernel32.dll. (trying to determien OS version)
One of the parameters is OSVERSIONINFOEX with the following definition:
typedef struct _OSVERSIONINFOEX {
  DWORD dwOSVersionInfoSize;
  DWORD dwMajorVersion;
  DWORD dwMinorVersion;
  DWORD dwBuildNumber;
  DWORD dwPlatformId;
  TCHAR szCSDVersion[128];
  WORD  wServicePackMajor;
  WORD  wServicePackMinor;
  WORD  wSuiteMask;
  BYTE  wProductType;
  BYTE  wReserved;
} OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;
I am using the Call Library Function Node in Labview with a parameter defined as Type-> Adapt to Type, and Data Format->Handles by Value. (please correct me if this is incorrect).
I'm trying to define the OSVERSIONINFOEX structure as a cluster but I'm having trouble on how to define the fixed array szCSDVersion[128] so that it is not a pointer. I've tried it as a byte array initialied to 128 elements and string with 128 dummy chars but both end up being pointers.
Attached is my cluster (which doesn't work).
Any help would be greatly appreciated in defining this cluster and ultimately calling the dll function to get the OS version info.
Thanks,
James
Message Edited by James@Prolucid on 02-01-2010 11:29 AM
Solved!
Go to Solution.
Attachments:
OSVERSIONINFOEX.ctl ‏10 KB

Thanks!!  That did it.
Here's a simple copy of what I'm using for anyone interested.
Thanks,
James
Attachments:
WinOSVersion.vi ‏31 KB
OSVERSIONINFOEX.ctl ‏12 KB

Similar Messages

  • How I pass a cluster with array of various data type (double, I32, string)

    I have to pass from a VI to a Microsoft Visual C++ DLL, a cluster with some arrays of various data type. The problem is with Double array, that during Visual C debug is incorrect:the dimension is correct passed, but not array data. In the DLL I have inserted the C code genereted by LabVIEW. I tried to pass a cluster of only one array of double, and the results is the same. Then, I tried to pass a cluster with scalar number and the result is correct in only one case. If the double data is the first in the cluster, the result is correct; if the first is another data type, such as integer or boolean, the double data is incorrect during the debug of the DLL.
    This is the code of my DLL:
    // LabViewP
    aram.cpp : Defines the entry point for the DLL application.
    #include "stdafx.h"
    #include "LabViewParam.h"
    #include "extcode.h"
    BOOL APIENTRY DllMain( HANDLE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved
    switch (ul_reason_for_call)
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
    break;
    return TRUE;
    typedef struct {
    long dimSize;
    double elt[1];
    } TD2;
    typedef TD2 **TD2Hdl;
    typedef struct {
    TD2Hdl elt1;
    } TD1;
    // This is an example of an exported variable
    LABVIEWPARAM_API int nLabViewParamPass=0;
    // This is an example of an exported function.
    LABVIEWPARAM_API int LabViewParamPass(TD1 *pparam)
    double parametro;
    int i;
    for (i=0;i<(**(*pparam).elt1).dimSize;i++)
    parametro=(**(*pparam).elt1).elt[i];
    return 42;
    // This is the constructor of a class that has been exp
    orted.
    // see LabViewParam.h for the class definition
    CLabViewParam::CLabViewParam()
    return;
    I use LabVIEW 7.0 and Windows XP.
    Sorry for my english.
    Thanks to every one for your suggestions.
    Filippo

    > I have to pass from a VI to a Microsoft Visual C++ DLL, a cluster with
    > some arrays of various data type. The problem is with Double array,
    > that during Visual C debug is incorrect:the dimension is correct
    > passed, but not array data. In the DLL I have inserted the C code
    > genereted by LabVIEW. I tried to pass a cluster of only one array of
    > double, and the results is the same. Then, I tried to pass a cluster
    > with scalar number and the result is correct in only one case. If the
    > double data is the first in the cluster, the result is correct; if the
    > first is another data type, such as integer or boolean, the double
    > data is incorrect during the debug of the DLL.
    It is hard tell for sure, but you might have alignment problems. The
    key symptom
    is that you can pass a cluster of big and small fine, but
    small big doesn't pass correctly. You might also test this by seeing
    what the size of your struct is. For Boolean and Double, sizeof()
    should return nine bytes no matter what order the array is in. If you
    are getting different sizes, you have two options. You can either order
    them such that the sizes work, or you can build the EXE or a wrapper DLL
    so that the alignment matches LV's native alignment.
    Greg McKaskle

  • Create dll with arrays and call it

    I am trying to create dll with labview in order to pass a 2d array to the main program. The problem is that I don't really know how to create the function to call it (I don't know much about pointers)
    The function I have created to call the dll is void Untitled1(TD1Hdl *Array1) which is suposse to return the array created on it.
    For example, in the program attached, how should I do to pass the array to another program using dlls?
    Thanks a lot,
    Juanlu
    Attachments:
    Untitled 1.vi ‏7 KB

    The code you've provided doesn't do anything (just a control wired to an indicator) so I'm not sure what you're asking here.
    If I understand correctly, you want to build a DLL from your LabVIEW VI.  From what language will you call that DLL?  There is no standard way to pass a 2-D array.  If you can convert to a 1-D array, you can use a simple pointer.  With a 2-D array, you're stuck with LabVIEW's array representation (the TD1Hdl type), which means that whatever code calls that function will need to understand the LabVIEW data type and how to manipulate it.

  • Building DLLs from VIs with array as output

    Is there any special way to build DLLs from VIs having arrays as outputs. Suppose I have a VI "Random" with input "nrand" and output an array "the_random2". When I build DLL from the VI, I have something like this in my header file
    void __stdcall Random(long nrand, double the_random2[]);
    Now it returns void. So I have to pass the array as pointer and retrieve it. If I use Mathscript to load the DLL and call this function, how do I pass the pointer to the array "the_random2"? Simply speaking, any useful method to build DLLs with array outputs and the right way to call them from Mathscript would be appreciated.
    Regards
    NRK

    Hi,
    Building DLLs in LabVIEW is described in this tutorial.  
    Mathscript can call shared libraries such as DLLs, however make sure
    that they are compliant with the supported data types as stated here in
    this help page.  All supported functions for calling/loading shared libraries is described here. 
    Note that these functions are not supported with the base package.  The
    details of the sytax of each function is described in their specific
    help page.
    Hope this helps!
    Regards,
    Nadim
    Applications Engineering
    National Instruments

  • How do I pass a 1D LabView array as a pointer to an array in a C DLL?

    Hello,
    I am trying to pass a 1D Labview array of DOUBLE to a C DLL which is expecting a pointer to an array of DOUBLE.  I have read that LabView stores arrays as a pointer to a pointer and that the first element of a LabView array is actually the size of the array.  So I think my question is then how do I dereference the first pointer and pass in a pointer which points to the second element in the array?    
    Any thoughts out there?
    Thanks!

    Hi justyou,
    There are many, many resources on this topic, so I will guide you to the two most useful ones:
    The "Call DLL.vi" example that ships with LabVIEW explains how to use almost any data type when executing DLLs. The "Call DLL.vi" can be found by browsing the Example Finder.
    Integrating DLLs. This page is the portal for DLL interation related resources. Read the tutorials and try the examples...
    This should give you some ideas.
    Have fun!
    - Philip Courtois, Thinkbot Solutions

  • Array of Cluster with event structure

    Hi,
    I am having Array of cluster with cluster having 1 String Control , 1 Combo box, 1 Led control and 2 Numeric control. In the combo box i am having two options to select ('Binary' and 'PWM').Whenever Binary is selected then Led control has be enabled and whenever PWM is selected 2 Numeric control has to be enabled.
    Is there any way to do this??
    Pleas help me...
    Regards
    Meenatchi

    actually in my application, the front panel has to have 16 rows of controls (1 string control, 1 combo box, 1 Led control, 2 numeric control).so i planned to keep all those controls in a cluster and create one array.If i didnt so i will have 16x5 controls in my front panel and i have to put 16 event cases for each combo box to do the enable and disable of controls..
    is there any simple way to do this..i have attached my front panel view
    Attachments:
    Untitled10.vi ‏139 KB

  • CSV V/s Pass through disks with HV 2012 R2 failover cluster

    Hi
    We are using HV 2012 R2 failover cluster with CSV. We found some articles saying pass through disks outperforms CSV. Is this correct?
    Regards
    LMS

    Hi
    We are using HV 2012 R2 failover cluster with CSV. We found some articles saying pass through disks outperforms CSV. Is this correct?
    "The juice isn't worth the squeeze" (c) ...
    Tim is 200% correct here: any performance gains (if any...) you'll get will fade in darkness compared to management burden you'll have with pass-thru disks (issues with failover, VM migration and no
    real support with a major VM backup vendors). Making long story short: don't do it.
    StarWind Virtual SAN clusters Hyper-V without SAS, Fibre Channel, SMB 3.0 or iSCSI, uses Ethernet to mirror internally mounted SATA disks between hosts.

  • Write an 1d-array of cluster with 3 elements

    Hi,
    I have to make a "Power spectral densities" analyse from my waveform data. The results from this VI is an array of cluuster with 3 elemments. Now I want to write this array of cluster with 3 elements to a file. And later it must be able to use this file with EXCEL!!
    thanks

    Hi
    I found some outer Forum entries about this topic.
    Look at this links:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=49553&requireLogin=False
    http://forums.ni.com/ni/board/message?board.id=170&message.id=51526&requireLogin=False
    I hope this helps
    Manuel

  • How can I write a 1d array of cluster with 3 elements to a file?

    Hi,
    I have to make a "Power spectral densities" analyse from my waveform data. The results from this VI is an array of cluuster with 3 elemments. Now I want to write this array of cluster with 3 elements to a file. And later it must be able to use this file with EXCEL!!
    thanks

    Hello schloronzo,
    make a for loop feeded with your array. Inside the for loop unbundle
    the cluster, "format into string" the 3 values, adding the result to
    the ones before and collect them in a shift register. Then save the
    resulting string to a txt-file. If you make a good format string then
    Excel is able to read your txt-file (use tab a separator and CR/LF
    after each 3 values aka "csv format").
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Write 1d array of cluster with 2 elements to file

    HI!
    I'm new at LabView so I hope the question is very simple to you:
    I am using a waveform graph to display several measurements.
    Now I want to save these Measuremens. The data are stored in 1d array of cluster with 2 elements.
    What is the easiest way to do this??
    Thanks

    If you are already using waveforms you can simply wire right up to "Write Waveforms to File.vi" in the Waveform palette under Waveform File I/O.
    Daniel L. Press
    PrimeTest Corp.
    www.primetest.com

  • Array to cluster with adjustable cluster size

    Hi all
    Here I have  a dynamic 1D array and I need to convert it into cluster. So I use Array to Cluster function. But I notice that the cluster size is a fix value. How can I adjust the cluster size according to the 1D array size?
    Anyone pls give advise..
    Thanks....

    I won't disagree with any of the previous posters, but would point out a conversion technique I just recently tried and found to work well for my own particular purposes.  I've given the method a pretty good workout and not found any obvious flaws yet, but can't 100% guarantee the behavior in all settings.
    Anyhow, I've got a fairly good sized project that includes quite a few similar but distinct clusters of booleans.  Each has been turned into a typedef, complete with logical names for each cluster element.  For some of the data processing I do, I need to iterate over each boolean element in a cluster, do some evaluations, and generate an output boolean cluster.  I first structured the code to use the "Cluster to Array" primitive, then auto-index over the resulting array of booleans, perform the evaluations and auto-index an output array-of-booleans, then finally convert back using the "Array to Cluster" primitive.  I, too, was kinda bothered by having to hardcode cluster sizes in there...
    I found I could instead use the "Typecast" primitive to convert the output array back to my cluster.  I simply fed the input cluster into the middle terminal to defin! the datatype.  Then the output cluster is automatically the right size and right datatype.
    This still is NOT an adjustable cluster size, but it had the following benefits:
    1. If the size of my typedef'ed cluster changes during development by adding or removing boolean elements, none of the code breaks!  I don't have to go searching through my code for all the "Array to Cluster" primitives, identifying the ones I need to inspect, and then manually changing the cluster size on them one at a time!
    2. Some of my processing functions were quite similar to one another.  This method allowed me to largely reuse code.  I merely had to replace the input and output clusters with the appropriate new typedef.  Again, no hardcoded cluster sizes hidden in "Array to Cluster" primitives, and no broken code.
    Dunno if your situation is similar, but it gave me something similar to auto-sizing at programming time.  (You should test the behavior when you feed arrays of the wrong size into the "Typecast" primitive.  It worked for my app's needs, but you should make sure it's right for yours.)
    -Kevin P.

  • Array of cluster to array of element - or - Cluster of arrays?

    Hi all,
    I have a large cluster (lets call it C_data) containing measured data e.g. 10 Temperatures, Pressure, (Temp_1, ...).....
    All these data are measured once per second. I now collect all data
    measured over a certain time in an array of the aforementioned cluster,
    that is
    an array of C_data. In order to display time series of data in graphs I
    need to extract arrays of elements from this array of C_data.
    In a text based programming language this could look like the following:
    Struct C_data {Temp_1, Temp_2, P_1.....}
    ar_C_data is an array of C_data
    now I want to do something like:
    array_of_Temp_1 = ar_C_data[*].Temp_1
    In some programming languages this works but I cannot unbundle_by_name the array of Temp_1 from ar_data in Labview.
    Since my cluster is large and may change in structure (for this reason I use a typedef) a generic solution would be the best.
    I know that I could: loop over all elements of ar_C_data, unbundle by
    name, index elements into arrays, and use these but this seems very
    inefficient if it is done every second on a large cluster (30 elements) with several thousand array elements....
    Olaf

    You can minimize the overhead of scanning through all elements and extracting if you pre-define the array and use "replace array subset".  This avoide having to re-size the array which is costly.
    Or you can keep an array separately in memory.  When one cluster element is added, the corresponding element is added to the array too.  Causes some memory overhead, but you're going to have that anyway if you generate them "on the fly".
    I don't see a way to do this other than either search through the array and pick the elements you need -or-
    keep a copy of the data in a form you can use.
    It's a common question of how to structure data to best suit two sometimes conflicting needs - efficiency and useability.
    What might be of interest is to change the "Array" - "Cluster" order and have a single cluster C-Data with arrays of each element required.  Might be a bit more difficult to use, it depends on your application.
    This way you have all arrays ready at all times, but generating a single cluster requires bundling the individual units on the fly.
    Shane.
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

  • Data Logging a programmatically created shared variable of cluster or array datatype into citadel DB

    Hi,
    Is there a way to log a programmatically created shared variable of cluster or array datatype into citadel DB?
    I have attempted to programmatically create a shared variable of type 'double' and was able to successfully log the same into Citadel DB. In the attachment, Please refer to the attached project SV_TC.lvproj and specifically to SV_W.vi for the code that i have used (W.png file shows the dB in MAX and shared variable in NI Distributed System Manager)
    However when i tried the same approach to create a shared variable 'array of double', i noticed that traces are not getting created and hence data logging isn't happening into the Citadel DB. I was however able to write and read the shared variable array without issues. The same is true with cluster datatype also. Please refer to SN_NW.vi for the code that i have used - only difference from SV_W.vi is that i have tried to create a shared variable of type 'array of double'
    One observation is that if i create an 'array of double' or cluster in a shared variable library using the project explorer and deploy, i could see that these being logged into Citadel DB.
    Hence i want to understand what could be done to achieve the same programmatically? Could you please advice?
    Regards,
    Sridhar
    Attachments:
    SV_TC.zip ‏3925 KB

    Why is the transaction happening over remote?
    Because we need the information to be on our database immediately when they submit it.
    I don't know anything about streams or replication.....
    The web database is run by the company that hosts our web site. We use PL/SQL to show the pages and output the html. It fetches the data the customer is requesting from our database, but I'm struggling to get the best way to insert into our database from there.

  • How to set multple values in cluster with local variable?

    Hello all,
    Ok, I've made my way through Labview for everyone, and have some basic concepts down. I can see with a cluster, if acting directly upon it, you can unbundle, change values, rebundle, etc.
    I'm trying something a bit more complex...and just not sure how to get started on this.
    I have a drop down menu ring. I have set this up as a typedef, with 4 values.  I have used this typedef 7 times, plus some LED bools, in a cluster. I have made this cluster a typedef.
    So, in my main vi I"m starting to design, I've set up an example posted here....and in it, I have two instantiations of the cluster typedef, Left Selector and Right Selector.
    I have dropped into this vi, a copy of the menu ring typedef (same typedef as in the clusters, same values)....called reset all tubes.
    I'm trying now, to figure out how, with an event on the change of value for 'reset all tubes'....that I can start with the left selector, and change all the tubes (these are the menu ring selector)  to the same value as what has been selected with the 'reset all tubes' menu ring.
    I've created a local variable for the left selector. It is set to read values. (I'll be doing the same with the right one too, but just starting with the left).
    In examples I've seen where directly accessing a cluster, you could unbundle the cluster...loop through and change the values...maybe pull out all of the 'tubes' into an array and move through that to update the values.  And when you bundle or unbundle the cluster...you can see the values, etc, when you stretch them out on the block diagram.
    With the local variable..I can't see to 'stretch' it out like I was expecting..so I can access the values for the 'tubes'...and set them all to the value of the 'reset all tubes' ring menu value.
    Can someone put me on the path on the best way to do this....or is there a structure of component I'm missing here ?  Am I on the right track to begin with here?
    This would seem pretty basic to me, but I'm just missing something here on how to start...
    Thank you in advance,
    cayenne
    Solved!
    Go to Solution.
    Attachments:
    example_select_dropdown.ctl ‏5 KB
    public_selector_cluster.ctl ‏6 KB
    laptop_test_public.vi ‏12 KB

    nathand wrote:
    You can't do this with a for loop the way the cluster is structured, but why make it so complicated?  Just bundle the new value into the cluster as shown below:
    If you do want to use a for loop, consider restructuring your cluster.  Group the ring and a boolean into a cluster, then drop 7 of those into the selector cluster.  Then you can use "cluster to array" and "array to cluster" since all elements in the outer cluster will be of the same type.
    Also, be careful using rings as type definitions.  You probably want to use an enumeration instead.  The items in a ring do not update when you update the type definition because they're considered to be cosmetic; the items in an enumeration type definition do update, because the items in an enumeration are considered part of the data type.
    Oh my goodness!!
    What was MUCH easier than I was trying to make it!!
    I was attempting to do this reset, in an incremental fashion, as that later, I'm going to need to change values in this cluster by individual elements....and was using this as a way to try to understand how to iterate between cluster elements, and change the values of each one.
    This solution works much better for this 'reset' all solution.
    One question on this....with regard to the enum vs the ring menu.
    I was actually going to go with the enum, however, I could not find a way to make it LOOK like the ring menu...with the arrow to the side that a user would know to click to present the menu list of choices.
    I see with the enum, that you can remove the increment/decrement indicator.....and if the user clicks the control, it will indeed pop up a menu of choices...but there is no 'arrow' on that control to indicate to the user that it is a menu choice there.....
    Is there a way to make and enum look like a ring with the "drop down menu" control look?
    Again, thank you !!
    This helps!
    C

  • An abend on NW65SP8 cluster with N65NSS8b

    Hello.
    We have got an abend on one node of Netware 6.5SP8 cluster with
    N65NSS8b. Some one could explain this abend.
    Here is cut of abend.log. We could provide more information if it is needed.
    Thank in advance.
    Novell Open Enterprise Server, NetWare 6.5
    PVER: 6.50.08
    Server NODE2 halted Wednesday, April 28, 2010 10:12:35.677 pm
    Abend 1 on P00: Server-5.70.08: Page Fault Processor Exception (Error
    code 00000000)
    Registers:
    CS = 0008 DS = 0010 ES = 0010 FS = 0023 GS = 0023 SS = 0010
    EAX = 00000000 EBX = 00000002 ECX = 00000000 EDX = 9CFE17B4
    ESI = 93399720 EDI = 00000002 EBP = 9CFE17D8 ESP = 9CFE17CC
    EIP = 8F599087 FLAGS = 00010246
    8F599087 FF7498F8 PUSH dword ptr [EAX+EBX*4-08]=?
    EIP in LOGEVENT.NLM at code start +00002087h
    Access Location: 0x00000000
    The violation occurred while processing the following instruction:
    8F599087 FF7498F8 PUSH dword ptr [EAX+EBX*4-08]
    8F59908B 56 PUSH ESI
    8F59908C E8A4EEFFFF CALL 8F597F35
    8F599091 83C40C ADD ESP, 0000000C
    8F599094 85C0 TEST EAX, EAX
    8F599096 740D JZ 8F5990A5
    8F599098 53 PUSH EBX
    8F599099 56 PUSH ESI
    8F59909A E8B2EFFFFF CALL 8F598051
    8F59909F 85C0 TEST EAX, EAX
    Running process: LogEvents Loop Process
    Thread Owned by NLM: AUDITNW.NLM
    Stack pointer: 9CFE1610
    OS Stack limit: 9CFD9A00
    Scheduling priority: 67371008
    Wait state: 5050190 Blocked on a kernel CV
    Stack: --00000002 (LOADER.NLM|KernelAddressSpace+2)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --93399720 ?
    --9CFE1944 ?
    8F59BCC4 (LOGEVENT.NLM|LogEventExt+9F9)
    --93399720 ?
    --00000002 (LOADER.NLM|KernelAddressSpace+2)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000001 (LOADER.NLM|KernelAddressSpace+1)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --9339C3EC ?
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --000000AD (LOADER.NLM|KernelAddressSpace+AD)
    --9339C3F4 ?
    --0000028C (LOADER.NLM|KernelAddressSpace+28C)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00001580 (LOADER.NLM|KernelAddressSpace+1580)
    --00000005 (LOADER.NLM|KernelAddressSpace+5)
    --00000006 (LOADER.NLM|KernelAddressSpace+6)
    --0000002C (LOADER.NLM|KernelAddressSpace+2C)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000006 (LOADER.NLM|KernelAddressSpace+6)
    --72617453 ?
    --6F4C2074 ?
    --76652067 ?
    --20746E65 ?
    --3A726F66 ?
    --74654E20 ?
    --65726157 ?
    --74736E49 ?
    --32333120 ?
    --30003130 ?
    --00000030 (LOADER.NLM|KernelAddressSpace+30)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --956302A0 ?
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --952C51E0 ?
    --FE301020 ?
    --97143620 ?
    0021CE3F (SERVER.NLM|SchedResumeDisabled+F)
    --97143620 ?
    --11111111 ?
    0020DDCB (SERVER.NLM|kSemaphoreValidate+D7)
    --97143620 ?
    --00000001 (LOADER.NLM|KernelAddressSpace+1)
    --92B7509C ?
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --98A9E7C8 ?
    00205FF4 (SERVER.NLM|PerformCallOuts+148)
    00205FFC (SERVER.NLM|PerformCallOuts+150)
    -97A5EA36 ?
    8F59C2F0 (LOGEVENT.NLM|LogEventExt+1025)
    --0000038F (LOADER.NLM|KernelAddressSpace+38F)
    --9CFE1930 ?
    00229F50 (SERVER.NLM|SchedTimerISR+D8)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --000002C9 (LOADER.NLM|KernelAddressSpace+2C9)
    --9CFE1944 ?
    -0013D020 (LOADER.NLM|interruptVectorPool+0)
    -00145E00 (LOADER.NLM|kVirtualInterruptTable0+0)
    00110824 (LOADER.NLM|kTimer1Interrupt+28)
    --FE00C380 (LOADER.NLM|OSAllocMemory+C380)
    0010FE49 (LOADER.NLM|kProcessProtectedModeInterrupt+39)
    0010FE51 (LOADER.NLM|kProcessProtectedModeInterrupt+41)
    -00145E00 (LOADER.NLM|kVirtualInterruptTable0+0)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    -97A5E51D ?
    0010F7AB (LOADER.NLM|kProtectedModeInterruptContinue+65)
    --00000023 (LOADER.NLM|KernelAddressSpace+23)
    --00000023 (LOADER.NLM|KernelAddressSpace+23)
    --00000023 (LOADER.NLM|KernelAddressSpace+23)
    936BE44F (AUDITNW.NLM|(Code Start)+344F)
    --00000000 (LOADER.NLM|KernelAddressSpace+0)
    --9CFE1944 ?
    --00000001 (LOADER.NLM|KernelAddressSpace+1)
    --93399720 ?
    --0000028C (LOADER.NLM|KernelAddressSpace+28C)
    --938E9001 ?
    8F59C2F0 (LOGEVENT.NLM|LogEventExt+1025)
    --00000008 (LOADER.NLM|KernelAddressSpace+8)
    936BE44F (AUDITNW.NLM|(Code Start)+344F)
    --938F9380 ?
    --8F7C74E0 ?
    --9CFE19A0 ?
    936BE51A (AUDITNW.NLM|(Code Start)+351A)
    --93399720 ?
    -936C3084 (AUDITNW.NLM|(Data Start)+1084)
    --000A0006 ?
    --00000007 (LOADER.NLM|KernelAddressSpace+7)
    Additional Information:
    The CPU encountered a problem executing code in LOGEVENT.NLM.
    The problem may be in that module or in data passed to that module by a
    process owned by AUDITNW.NLM.

    03.05.2010 15:40, Rodion пишет:
    > 03.05.2010 2:16, ataubman wrote:
    >>
    >
    >> Just to confirm that we're
    >> on the same page: 'Novell Login'
    >> (http://download.novell.com/protected...d=feuRIrrVHBQ~)
    >> contains newer versions of both the above modules.
    >>
    >>
    >
    > We will try newer version of Novell Audit platform agent 2.0.2 FP7 and
    > inform you about results.
    >
    We have updated audit agents to version 2.0.2 FP7 on two nodes of the NW
    cluster and NW servers. Also we disable file close event of audit agents
    on nodes of the NW cluster.
    We noticed some messages, which were appearing on Logger Screen, when
    backup job worked with huge amount network traffic. Messages like these:
    Novell Audit Platform Agent: Failing primary connection for application
    NetWareInst.
    Novell Audit Platform Agent: Ack Not received - Going to end the
    connection
    Novell Audit Platform Agent: Failing primary connection for application
    NetWareInst.
    Novell Audit Platform Agent: ACK Failure for File
    Novell Audit Platform Agent: Server reports logging protocol version: 4
    Novell Audit Platform Agent: NetWareInst connecting to Log Server via
    CLEAR TEXT
    Novell Audit Platform Agent: Authentication Successful
    Novell Audit Platform Agent: Switching application NetWareInst to
    failover log server, 192.168.175.71.
    Novell Audit Platform Agent: Failing failover connection for application
    NetWareInst.
    Novell Audit Platform Agent: Ack Not received - Going to end the
    connection
    Novell Audit Platform Agent: Failing failover connection for application
    NetWareInst.
    Novell Audit Platform Agent: ACK Failure for File
    Novell Audit Platform Agent: Switching application NetWareInst from
    failover log server to cache.
    Novell Audit Platform Agent: This is from EndClientConnection
    Novell Audit Platform Agent: LCache could not process event for the
    application NetWareInst. Reconnecting LCache Again.
    Novell Audit Platform Agent: Ack Not received - Going to end the
    connection
    Novell Audit Platform Agent: This is from EndClientConnection
    Novell Audit Platform Agent: LCache could not process event for the
    application NetWareInst. Reconnecting LCache Again.
    Novell Audit Platform Agent: ACK Failure for File
    Novell Audit Platform Agent: LCache could not process, Going to
    restart/connect again
    Novell Audit Cache: Removed application NetWareInst cache file
    sys:/etc/logcache/lc934755c293b98b926e915cb0890823dd.
    Novell Audit Cache: Removed application NetWareInst cache file
    sys:/etc/logcache/lc934755c293b98b926e915cb0890823dd.
    Novell Audit Cache: Removed application NetWareInst cache file
    sys:/etc/logcache/lc934755c293b98b926e915cb0890823dd.
    Novell Audit Cache: Removed application NetWareInst cache file
    sys:/etc/logcache/lc934755c293b98b926e915cb0890823dd.
    Novell Audit Platform Agent: ain.
    Novell Audit Platform Agent: Server reports logging protocol version: 4
    Novell Audit Platform Agent: NetWareInst connecting to Log Server via
    CLEAR TEXT
    Novell Audit Platform Agent: Authentication Successful
    Novell Audit Platform Agent: NetWareInst.
    Novell Audit Cache: Removed application NetWareInst cache file
    sys:/etc/logcache/lc934755c293b98b926e915cb0890823dd
    In other words NW Audit agent lost connection to Audit server.
    There were several anends on NW server that was not a node of cluster
    when audit agent was trying to reconnect to Audit server.
    Novell Open Enterprise Server, NetWare 6.5
    PVER: 6.50.08
    Server MAIN1 halted Friday, May 7, 2010 5:03:36.526 am
    Abend 1 on P00: Server-5.70.08: Page Fault Processor Exception (Error
    code 00000000)
    Registers:
    CS = 0008 DS = 0023 ES = 0023 FS = 0023 GS = 0023 SS = 0010
    EAX = 00000000 EBX = 00000002 ECX = 00000000 EDX = AEB9E1A4
    ESI = 90216260 EDI = 9D33A0E2 EBP = AEB9E1C8 ESP = AEB9E1BC
    EIP = 9D33A0B0 FLAGS = 00010246
    9D33A0B0 FF7498F8 PUSH dword ptr [EAX+EBX*4-08]=?
    EIP in LOGEVENT.NLM at code start +000020B0h
    Access Location: 0x00000000
    The violation occurred while processing the following instruction:
    9D33A0B0 FF7498F8 PUSH dword ptr [EAX+EBX*4-08]
    9D33A0B4 56 PUSH ESI
    9D33A0B5 E8A3EEFFFF CALL 9D338F5D
    9D33A0BA 83C40C ADD ESP, 0000000C
    9D33A0BD 85C0 TEST EAX, EAX
    9D33A0BF 740D JZ 9D33A0CE
    9D33A0C1 53 PUSH EBX
    9D33A0C2 56 PUSH ESI
    9D33A0C3 E8B1EFFFFF CALL 9D339079
    9D33A0C8 85C0 TEST EAX, EAX
    Running process: ReconnectToServer Thread Process
    Thread Owned by NLM: LOGEVENT.NLM
    Stack pointer: AEB9DBBC
    OS Stack limit: AEB8E240
    Scheduling priority: 67371008
    Wait state: 5050190 Blocked on a kernel CV
    Stack: --00000002 (LOADER.NLM|KernelAddressSpace+2)
    --00000002 (LOADER.NLM|KernelAddressSpace+2)
    Additional Information:
    The CPU encountered a problem executing code in LOGEVENT.NLM. The
    problem may be in that module or in data passed to that module by a
    process owned by LOGEVENT.NLM.
    Thanks for time and help.

Maybe you are looking for

  • How to select multiple iphoto card design under one shipment?

    Hi All, I have designed 4 different invitation cards. I wonder if i can multiple select 4 of these design under one shipment, so i can save a lot of shipping cost. Please share your experiences. Thanks. Regards, Wymond

  • Camera Raw doesn't seem to recognize my Ricoh GR

    I'm running Mac OS 10.9.5, and Photoshop CS6 v13.0.6 x64, with the Camera Raw 8.6.0.254 plug-in. I just bought a new Ricoh GR camera, and I love it. However, I've been unwilling to process any of its photos so far, because it looks like Camera Raw is

  • Phone photos not automatically uploading to my pc

    First let me say that photos taken on my and my wife's iPhone 4 have been automatically uploading to my Windows 7 PC for a couple of years.  I depend on the function to get all of our photos off the phones and into our family album. Just a few days a

  • Quick view of full image when assigning faces

    I like to use Faces versus Names because I seem to be able to crank through it much quicker.  My flow: 1) I click a project name that has not already had faces assigned 2) I click the faces icon. Then I see the "main" part of the screen with the Face

  • Wrong character display in german language

    Hi, In transaction me52n I have added one screen field of 30 characters ( Created dataelement). When i take the english name it display properly. But when i take the german name , specially names with ö , then it displays 'ö'  instead of ö. Could an