![]() | ParameterStyleRepCap::GetPhysicalNameAtIndex |
Returns full physical name at the specified 1-based index.
static ViStatus GetPhysicalNameAtIndex(ViSession Vi, ViInt32 nIndex, ViInt32 nNameBufferSize, ViChar szName[]); static ViStatus GetPhysicalNameAtIndex(ViSession Vi, ViConstString parentPhysicalName, ViInt32 nIndex, ViInt32 nNameBufferSize, ViChar szName[]);
[in] ViSession handle for the driver session.
[in] The full physical name of the parent repeated capability. This parameter is only available in the overload for nested repeated capabilities.
[in] The 0-based index of the physical name to return. For nested repeated capabilities, this represents the index within the specific parent repeated capability instance's collection of child physical names.
[in] The number of characters allocated in the szName parameter.
[out] The full physical name located at the specified index within the driver's internal list of physical names for this repeated capability.
Returns a VI_SUCCESS if the operation was successful or a failure ViStatus otherwise.
Only one of the above overloads will be available for a particular repeated capability. The first overload (without the parentPhysicalName parameter) will be available for non-nested repeated capabilities, while the second overload must be used for nested repeated capabilities.
The following example demonstrates use of the GetPhysicalNameAtIndex function.
ViStatus _VI_FUNC acme4321_ConfigureArmCount(ViSession Vi, ViConstString RepCapIdentifier, ViInt32 ArmCount) { // The Trace repeated capability is a child repeated capability of some other repeated capability // that defines a "C1" physical name. The "trace" variable below represents the "T1" Trace instance // within the C1 instance of the parent repeated capability. // // Assume the following repeated capability physical names are defined in the following order for the Trace repeated capability: // // "C1:T1" // "C1:T2" // "C1:T3" // "C2:T1" // "C2:T2" // "C2:T3" <-- this is the one we're after // "C3:T1" // "C3:T2" // "C3:T3" // // Note that we ask for the physical name at index 2 and not 5 // char szName[256]; auto status = Trace::GetPhysicalNameAtIndex(Vi, "C2", 2, _countof(szName), sz); ReturnOnError(status); cout << szName; // prints "C2:T3" }