Important
For more information about each available TPCANParameter, please refer to the companion PDF documentation PCAN-Parameter_Documentation.pdf.
public static TPCANStatus SetValue(
ushort Channel,
TPCANParameter Parameter,
ref uint NumericBuffer,
uint BufferLength
)
Public Shared Function SetValue (
Channel As UShort,
Parameter As TPCANParameter,
ByRef NumericBuffer As UInteger,
BufferLength As UInteger
) As TPCANStatus
public:
static TPCANStatus SetValue(
unsigned short Channel,
TPCANParameter Parameter,
unsigned int% NumericBuffer,
unsigned int BufferLength
)
The return value is a TPCANStatus value. PCAN_ERROR_OK is returned on success. The typical errors in case of failure are:
Use the method SetValue to change the behavior of a PCAN Channel like its Message Filter. Take in account that not all parameters are supported for all PCAN Channels. The access's type of the parameters can also be different.
For more information about the possible values that can be used for parameter configuration, see Parameter Value Definitions
The following example shows the use of SetValue(UInt16, TPCANParameter, UInt32, UInt32) method on the channel PCAN_USBBUS1 to close the message filter. In case of failure, the returned code will be translated to a text (according with the operating system language) in English, German, Italian, French or Spanish, and it will be shown to the user.
TPCANStatus result;
System.Text.StringBuilder strMsg;
UInt32 iBuffer;
strMsg = new System.Text.StringBuilder(256);
// ... channel is initialized ...
// The message filter is closed
//
iBuffer = PCANBasic.PCAN_FILTER_CLOSE;
result = PCANBasic.SetValue(PCANBasic.PCAN_USBBUS1, TPCANParameter.PCAN_MESSAGE_FILTER, ref iBuffer, sizeof(UInt32));
if (result != TPCANStatus.PCAN_ERROR_OK)
{
// An error occurred, get a text describing the error and show it
//
PCANBasic.GetErrorText(result, 0, strMsg);
Console.WriteLine(strMsg.ToString());
}
else
Console.WriteLine("The filter was successfully closed");
Dim result As TPCANStatus
Dim strMsg As System.Text.StringBuilder
Dim iBuffer As UInt32
strMsg = New System.Text.StringBuilder(256)
' ... channel is initialized ...
' The message filter is closed
'
iBuffer = PCANBasic.PCAN_FILTER_CLOSE
result = PCANBasic.SetValue(PCANBasic.PCAN_USBBUS1, TPCANParameter.PCAN_MESSAGE_FILTER, iBuffer, CType(System.Runtime.InteropServices.Marshal.SizeOf(iBuffer), UInteger))
If result <> TPCANStatus.PCAN_ERROR_OK Then
' An error occurred, get a text describing the error and show it
'
PCANBasic.GetErrorText(result, 0, strMsg)
Console.WriteLine(strMsg.ToString)
Else
Console.WriteLine("The filter was successfully closed")
End If
TPCANStatus result;
System::Text::StringBuilder^ strMsg;
UInt32 iBuffer;
strMsg = gcnew System::Text::StringBuilder(256);
// ... channel is initialized ...
// The message filter is closed
//
iBuffer = PCANBasic::PCAN_FILTER_CLOSE;
result = PCANBasic::SetValue(PCANBasic::PCAN_USBBUS1, TPCANParameter::PCAN_MESSAGE_FILTER, iBuffer, sizeof(iBuffer));
if (result != TPCANStatus::PCAN_ERROR_OK)
{
// An error occurred, get a text describing the error and show it
//
PCANBasic::GetErrorText(result, 0, strMsg);
Console::WriteLine(strMsg->ToString());
}
else
Console::WriteLine("The filter was successfully closed");