I created an IVI Spectrum Analyzer driver using the Instrument Driver Development Wizard.  When it uses the viQueryf function, I get a NULL value returned.  
 
For example:
static ViStatus _VI_FUNC hp856xEAttrMarkerAmplitude_ReadCallback (ViSession vi,
                                                                            ViSession io,
                                                                            ViConstString channelName,
                                                                            ViAttr attributeId,
                                                                            ViReal64 *value)
{                 
    ViStatus    error = VI_SUCCESS;
    ViChar      rdBuffer[BUFFER_SIZE];
    ViUInt32    retCnt;
    
    viCheckErr( viPrintf (io, "MKA?"));
    viCheckErr( viRead (io, rdBuffer, BUFFER_SIZE-1, &retCnt));  // This works!! 
 
        viCheckErr (viQueryf (io, "MKA?", "%lf", &value));  //  This doesn't  
 
        Error:
    return error;
}
 
If I use the NI-488.2 Communicator, the query function works fine.  I have LabWindows 7.1.1 and NI-Visa 3.3.1.  Does anyone have any ideas why the viQueryf function might not be working?
 
Thanks for your help!