windows-nt/Source/XPSP1/NT/shell/ext/hnw/nconn16/nconn16.h
2020-09-26 16:20:57 +08:00

109 lines
3.9 KiB
C

//
// NConn16.h
//
#ifndef __NCONN16_H__
#define __NCONN16_H__
#ifndef EXTERN_C
#ifdef __cplusplus
#define EXTERN_C extern "C"
#else
#define EXTERN_C
#endif
#endif
typedef DWORD DEVNODE, DEVINST;
#ifndef WIN32
typedef LONG HRESULT;
#define S_OK ((HRESULT)0x00000000L)
#define S_FALSE ((HRESULT)0x00000001L)
//#define E_FAIL ((HRESULT)0x80004005L)
//#define E_POINTER ((HRESULT)0x80004003L)
//#define E_INVALIDARG ((HRESULT)0x80000003L)
#else
#define VCP_ERROR 300
enum _ERR_VCP
{
ERR_VCP_IOFAIL = (VCP_ERROR + 1), // File I/O failure
ERR_VCP_STRINGTOOLONG, // String length limit exceeded
ERR_VCP_NOMEM, // Insufficient memory to comply
ERR_VCP_QUEUEFULL, // Trying to add a node to a maxed-out queue
ERR_VCP_NOVHSTR, // No string handles available
ERR_VCP_OVERFLOW, // Reference count would overflow
ERR_VCP_BADARG, // Invalid argument to function
ERR_VCP_UNINIT, // String library not initialized
ERR_VCP_NOTFOUND , // String not found in string table
ERR_VCP_BUSY, // Can't do that now
ERR_VCP_INTERRUPTED, // User interrupted operation
ERR_VCP_BADDEST, // Invalid destination directory
ERR_VCP_SKIPPED, // User skipped operation
ERR_VCP_IO, // Hardware error encountered
ERR_VCP_LOCKED, // List is locked
ERR_VCP_WRONGDISK, // The wrong disk is in the drive
ERR_VCP_CHANGEMODE, //
ERR_VCP_LDDINVALID, // Logical Disk ID Invalid.
ERR_VCP_LDDFIND, // Logical Disk ID not found.
ERR_VCP_LDDUNINIT, // Logical Disk Descriptor Uninitialized.
ERR_VCP_LDDPATH_INVALID,
ERR_VCP_NOEXPANSION, // Failed to load expansion dll
ERR_VCP_NOTOPEN, // Copy session not open
ERR_VCP_NO_DIGITAL_SIGNATURE_CATALOG, // Catalog is not digitally signed
ERR_VCP_NO_DIGITAL_SIGNATURE_FILE, // A file is not digitally signed
};
// Return error codes for NDI_ messages.
#define NDI_ERROR (1200)
enum _ERR_NET_DEVICE_INSTALL
{
ERR_NDI_ERROR = NDI_ERROR, // generic failure
ERR_NDI_INVALID_HNDI,
ERR_NDI_INVALID_DEVICE_INFO,
ERR_NDI_INVALID_DRIVER_PROC,
ERR_NDI_LOW_MEM,
ERR_NDI_REG_API,
ERR_NDI_NOTBOUND,
ERR_NDI_NO_MATCH,
ERR_NDI_INVALID_NETCLASS,
ERR_NDI_INSTANCE_ONCE,
ERR_NDI_CANCEL,
ERR_NDI_NO_DEFAULT,
};
#endif
//
// Exported functions
//
EXTERN_C BOOL WINAPI RestartWindowsQuickly16(VOID);
EXTERN_C DWORD WINAPI CallClassInstaller16(HWND hwndParent, LPCSTR lpszClassName, LPCSTR lpszDeviceID);
EXTERN_C DWORD WINAPI InstallAdapter(HWND hwndParent, LPCSTR lpszClassName, LPCSTR szDeviceID, LPCSTR szDriverPath);
EXTERN_C HRESULT WINAPI FindClassDev16(HWND hwndParent, LPCSTR pszClass, LPCSTR pszDeviceID);
EXTERN_C HRESULT WINAPI LookupDevNode16(HWND hwndParent, LPCSTR pszClass, LPCSTR pszEnumKey, DEVNODE FAR* pDevNode, DWORD FAR* pdwFreePointer);
EXTERN_C HRESULT WINAPI FreeDevNode16(DWORD dwFreePointer);
EXTERN_C HRESULT WINAPI IcsUninstall16(void);
//
// CallClassInstaller16 (a.k.a. InstallComponent) return codes
//
#define ICERR_ERROR 0x80000000 // High bit indicates error condition
#define ICERR_DI_ERROR 0xC0000000 // These bits are set on DI errors
// Custom status return values (no error)
#define ICERR_OK 0x00000000
#define ICERR_NEED_RESTART 0x00000001
#define ICERR_NEED_REBOOT 0x00000002
// Custom error return values
#define ICERR_INVALID_PARAMETER 0x80000001
#endif // !__NCONN16_H__