windows-nt/Source/XPSP1/NT/base/pnp/inc/pnpipc.h
2020-09-26 16:20:57 +08:00

116 lines
3.3 KiB
C

/*++
Copyright (c) 1989-2001 Microsoft Corporation
Module Name:
pnpipc.h
Abstract:
This module contains the private defintions used by various
user-mode pnp components to communicate.
Author:
Paula Tomlinson (paulat) 02/21/1996
Environment:
User-mode only.
Revision History:
27-February-2001 jamesca
Additional CFGMGR32-specific and UMPNPMGR-specific definitions.
Constrained header file to only those
--*/
#ifndef _PNPIPC_H_
#define _PNPIPC_H_
//
// Module names of support libraries and executables.
//
#define SETUPAPI_DLL TEXT("setupapi.dll")
#define NEWDEV_DLL TEXT("newdev.dll")
#define HOTPLUG_DLL TEXT("hotplug.dll")
#define RUNDLL32_EXE TEXT("rundll32.exe")
#define NTSD_EXE TEXT("ntsd.exe")
#define WINSTA_DLL TEXT("winsta.dll")
#define WTSAPI32_DLL TEXT("wtsapi32.dll")
//
// Pending install event, shared by cfgmgr32 and umpnpmgr.
// This event is always created in the Global (i.e. Session 0) object namespace.
//
#define PNP_NO_INSTALL_EVENTS TEXT("Global\\PnP_No_Pending_Install_Events")
//
// Named pipe, events, and timeouts used with GUI setup.
//
#define PNP_NEW_HW_PIPE TEXT("\\\\.\\pipe\\PNP_New_HW_Found")
#define PNP_CREATE_PIPE_EVENT TEXT("PNP_Create_Pipe_Event")
#define PNP_BATCH_PROCESSED_EVENT TEXT("PNP_Batch_Processed_Event")
#define PNP_PIPE_TIMEOUT 60000 // 60 seconds
#define PNP_GUISETUP_INSTALL_TIMEOUT 60000 // 60 seconds
//
// Named pipe, events, and timeouts used for communication with newdev.
//
#define PNP_DEVICE_INSTALL_PIPE TEXT("\\\\.\\pipe\\PNP_Device_Install_Pipe")
#define PNP_DEVICE_INSTALL_EVENT TEXT("PNP_Device_Install_Event")
// Flags to specify behavior of the device install client (newdev.dll).
#define DEVICE_INSTALL_UI_ONLY 0x00000001
#define DEVICE_INSTALL_FINISHED_REBOOT 0x00000002
#define DEVICE_INSTALL_PLAY_SOUND 0x00000004
#define DEVICE_INSTALL_BATCH_COMPLETE 0x00000008
#define DEVICE_INSTALL_PROBLEM 0x00000010
#define DEVICE_INSTALL_DISPLAY_ON_CONSOLE 0x00010000
// Bitmask for only those flags sent to newdev.dll.
#define DEVICE_INSTALL_CLIENT_MASK 0x0000FFFF
#define DEVICE_INSTALL_SERVER_MASK 0xFFFF0000
// Length of time to allow 'device install complete' bubble to be displayed.
#define DEVICE_INSTALL_COMPLETE_WAIT_TIME 3000 // 3 seconds
#define DEVICE_INSTALL_COMPLETE_DISPLAY_TIME 10000 // 10 seconds
//
// Named pipe, events, and timeouts used for communication with hotplug.
//
#define PNP_HOTPLUG_PIPE TEXT("\\\\.\\pipe\\PNP_HotPlug_Pipe")
#define PNP_HOTPLUG_EVENT TEXT("PNP_HotPlug_Event")
// Flags to specify behavior of the hotplug client (hotplug.dll).
#define HOTPLUG_DISPLAY_ON_CONSOLE 0x00010000
//
// Default WindowStation and Desktop names for launching hotplug and newdev
// processes on an interactive user's desktop.
//
#define DEFAULT_WINSTA TEXT("WinSta0")
#define DEFAULT_DESKTOP TEXT("Default")
#define DEFAULT_INTERACTIVE_DESKTOP TEXT("WinSta0\\Default")
#endif // _PNPIPC_H_