/* Retrieves the next CAN message from the receive FIFO of the specified CAN channel. The function waits for a message to be received from the CAN bus.  */
static HRESULT IxxatVciLibFuncCanChannelReadMessage(HANDLE hCanChn, UINT32 dwTimeout, PCANMSG pCanMsg)
/* Retrieves the next CAN message from the receive FIFO of the specified CAN channel. The function waits for a message to be received from the CAN bus.  */
static HRESULT IxxatVciLibFuncCanChannelReadMessage(HANDLE hCanChn, UINT32 dwTimeout, PCANMSG pCanMsg)
{
  HRESULT result = VCI_E_UNEXPECTED;
  assert(ixxatVciLibFuncCanChannelReadMessagePtr != NULL);
  assert(ixxatVciDllHandle != NULL);
  if ((ixxatVciLibFuncCanChannelReadMessagePtr != NULL) && (ixxatVciDllHandle != NULL))
  {
    result = ixxatVciLibFuncCanChannelReadMessagePtr(hCanChn, dwTimeout, pCanMsg);
  }
  return result;
}