//-----------------------------------------------------------------------
//
// Copyright © 2012 Nils Hammar. All rights reserved.
//
//-----------------------------------------------------------------------
/*
* Software to access vehicle information via the OBD-II connector.
*
* Copyright © 2012 Nils Hammar
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Alternative licensing is possible, see the licensing document.
*
* The above text may not be removed or modified.
*/
namespace VectorComm
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
///
/// Native methods for Vector API.
///
public static class NativeMethods
{
///
/// Waits until the specified object is in the signaled state or the time-out interval elapses.
///
/// Handle to object.
/// Wait time.
/// Status code, see WaitResults.
[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
internal static extern int WaitForSingleObject(IntPtr hHandle, int dwMilliseconds);
}
///
/// Possible states of WaitForSingleObject.
///
public enum WaitResult : int
{
///
/// Wait object zero.
///
WAIT_OBJECT_0 = 0x0,
///
/// Wait was abandoned.
///
WAIT_ABANDONED = 0x80,
///
/// Wait had a timeout.
///
WAIT_TIMEOUT = 0x102,
///
/// Wait is infinite.
///
INFINITE = 0xFFFF,
///
/// Wait failed.
///
WAIT_FAILED = 0xFFFFFFF
}
}