1
0
mirror of https://github.com/Microsoft/sql-server-samples.git synced 2025-12-08 14:58:54 +00:00
Files
sql-server-samples/samples/features/sqlvdi-linux/vdierror.h
2017-03-13 18:18:45 -07:00

99 lines
2.5 KiB
C

//*********************************************************************
// Copyright (C) Microsoft Corporation.
//
// @File: vdierror.h
// @Owner: <owner alias>
//
// Purpose:
// <description>
//
// Notes:
// <special-instructions>
//
//*********************************************************************
#ifndef VDIERROR_H_
#define VDIERROR_H_
//****************************************************************************
// Copyright (c) Microsoft Corporation.
//
// vdierror.h
//
// Purpose:
// Declare the error codes emitted by the virtual device interface.
//
//****************************************************************************
//
// Create an int value from component pieces
//
#define MAKE_HRESULT(sev, fac, code) \
((int) (((unsigned long)(sev) << 31) | ((unsigned long)(fac) << 16) | ((unsigned long)(code))) )
//---------------------------------------------------------------------------------------
// Error code handling will be done in standard COM fashion:
//
// an int is returned and the caller can use
// SUCCEEDED(code) or FAILED(code) to determine
// if the function failed or not.
//
// Form an error code mask.
// All VDI errors have 0x8077 as prefix.
//
#define VD_ERROR(code) MAKE_HRESULT(1, 0x77, code)
// The object was not open
//
#define VD_E_NOTOPEN VD_ERROR(2) /* 0x80770002 */
// The api was waiting and the timeout interval had elapsed.
//
#define VD_E_TIMEOUT VD_ERROR(3) /* 0x80770003 */
// An abort request is preventing anything except termination actions.
//
#define VD_E_ABORT VD_ERROR(4) /* 0x80770004 */
// Failed to create security environment.
//
#define VD_E_SECURITY VD_ERROR(5) /* 0x80770005 */
// An invalid parameter was supplied
//
#define VD_E_INVALID VD_ERROR(6) /* 0x80770006 */
// Failed to recognize the SQL Server instance name
//
#define VD_E_INSTANCE_NAME VD_ERROR(7) /* 0x80770007 */
// The requested configuration is invalid
//
#define VD_E_NOTSUPPORTED VD_ERROR(9) /* 0x80770009 */
// Out of memory
//
#define VD_E_MEMORY VD_ERROR(10) /* 0x8077000a */
// Unexpected internal error
//
#define VD_E_UNEXPECTED VD_ERROR(11) /* 0x8077000b */
// Protocol error
//
#define VD_E_PROTOCOL VD_ERROR(12) /* 0x8077000c */
// All devices are open
//
#define VD_E_OPEN VD_ERROR(13) /* 0x8077000d */
// the object is now closed
//
#define VD_E_CLOSE VD_ERROR(14) /* 0x8077000e */
// the resource is busy
//
#define VD_E_BUSY VD_ERROR(15) /* 0x8077000f */
#endif