mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
4.6 KiB
108 lines
4.6 KiB
/*++
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
pnpmgr.h
|
|
|
|
Abstract:
|
|
|
|
Internal definitions used by kernel-mode and user-mode pnp managers.
|
|
|
|
Author:
|
|
|
|
Paula Tomlinson (paulat) 06-Feb-1997
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _PNPMGR_
|
|
#define _PNPMGR_
|
|
|
|
//
|
|
// Make sure that stardand defines (everything but guids, basically), don't
|
|
// get included twice.
|
|
//
|
|
|
|
//
|
|
// This controls how long we wait (in milliseconds) for an app
|
|
// to respond to a query type device change message.
|
|
//
|
|
|
|
#define PNP_NOTIFY_TIMEOUT 30000 // 30 seconds
|
|
|
|
//
|
|
// The following are Windows NT specific registry keys that both the
|
|
// user-mode pnp manager and kernel-mode pnp manager need to access.
|
|
//
|
|
|
|
#define REGSTR_KEY_DELETEDDEVICE TEXT("Deleted Device IDs")
|
|
#define REGSTR_KEY_LOGCONF TEXT("LogConf")
|
|
#define REGSTR_KEY_DEVICECONTROL TEXT("Control")
|
|
#define REGSTR_KEY_CURRENT_DOCK_INFO TEXT("CurrentDockInfo")
|
|
#define REGSTR_VAL_Count TEXT("Count") // add REGSTR_VALUE_COUNT;
|
|
#define REGSTR_VAL_MOVEDTO TEXT("MovedTo") // add REGSTR_VAL_MOVEDTO;
|
|
#define REGSTR_VAL_PNPSERVICETYPE TEXT("PlugPlayServiceType")
|
|
#define REGSTR_VAL_BOOTCONFIG TEXT("BootConfig")
|
|
#define REGSTR_VAL_ALLOCCONFIG TEXT("AllocConfig")
|
|
#define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig")
|
|
#define REGSTR_VAL_OVERRIDECONFIGVECTOR TEXT("OverrideConfigVector")
|
|
#define REGSTR_VAL_BASICCONFIGVECTOR TEXT("BasicConfigVector")
|
|
#define REGSTR_VAL_FILTEREDCONFIGVECTOR TEXT("FilteredConfigVector")
|
|
#define REGSTR_VAL_ACTIVESERVICE TEXT("ActiveService")
|
|
#define REGSTR_VAL_PHANTOM TEXT("Phantom")
|
|
#define REGSTR_VAL_FIRMWAREIDENTIFIED TEXT("FirmwareIdentified")
|
|
#define REGSTR_VAL_FIRMWAREMEMBER TEXT("FirmwareMember")
|
|
#define REGSTR_VAL_EJECTABLE_DOCKS TEXT("EjectableDocks")
|
|
#define REGSTR_VALUE_UNIQUE_PARENT_ID TEXT("UniqueParentID")
|
|
#define REGSTR_VALUE_PARENT_ID_PREFIX TEXT("ParentIdPrefix")
|
|
|
|
|
|
//
|
|
// Device description to be displayed by newdev during server-side device
|
|
// installation (this value entry is located in the device's hardware key).
|
|
//
|
|
#define REGSTR_VAL_NEW_DEVICE_DESC TEXT("NewDeviceDesc")
|
|
|
|
//
|
|
// Maximum length for the name of a component that has vetoed a pnp
|
|
// notification event.
|
|
//
|
|
#define MAX_VETO_NAME_LENGTH 512
|
|
|
|
#endif // _PNPMGR_
|
|
|
|
|
|
|
|
#ifndef FAR
|
|
#define FAR
|
|
#endif
|
|
|
|
//
|
|
// Private device events
|
|
//
|
|
DEFINE_GUID( GUID_DEVICE_ARRIVAL, 0xcb3a4009L, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_ENUMERATED, 0xcb3a400AL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_ENUMERATE_REQUEST, 0xcb3a400BL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_START_REQUEST, 0xcb3a400CL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_REMOVE_PENDING, 0xcb3a400DL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_QUERY_AND_REMOVE, 0xcb3a400EL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_EJECT, 0xcb3a400FL, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_NOOP, 0xcb3a4010L, 0x46f0, 0x11d0, 0xb0, 0x8f, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3f);
|
|
DEFINE_GUID( GUID_DEVICE_SURPRISE_REMOVAL, 0xce5af000L, 0x80dd, 0x11d2, 0xa8, 0x8d, 0x00, 0xa0, 0xc9, 0x69, 0x6b, 0x4b);
|
|
DEFINE_GUID( GUID_DEVICE_SAFE_REMOVAL, 0x8fbef967L, 0xd6c5, 0x11d2, 0x97, 0xb5, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_EJECT_VETOED, 0xcf7b71e8L, 0xd8fd, 0x11d2, 0x97, 0xb5, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_REMOVAL_VETOED, 0x60dbd5faL, 0xddd2, 0x11d2, 0x97, 0xb8, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_WARM_EJECT_VETOED, 0xcbf4c1f9L, 0x18d5, 0x11d3, 0x97, 0xdb, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_STANDBY_VETOED, 0x03b21c13L, 0x18d6, 0x11d3, 0x97, 0xdb, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_HIBERNATE_VETOED, 0x61173ad9L, 0x194f, 0x11d3, 0x97, 0xdc, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
DEFINE_GUID( GUID_DEVICE_KERNEL_INITIATED_EJECT, 0x14689b54L, 0x0703, 0x11d3, 0x97, 0xd2, 0x00, 0xa0, 0xc9, 0x40, 0x52, 0x2e);
|
|
|
|
//
|
|
// Private driver events
|
|
//
|
|
DEFINE_GUID( GUID_DRIVER_BLOCKED, 0x1bc87a21L, 0xa3ff, 0x47a6, 0x96, 0xaa, 0x6d, 0x01, 0x09, 0x06, 0x80, 0x5a);
|
|
|