Source code of Windows XP (NT5)
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.

70 lines
2.1 KiB

  1. //***************************************************************************
  2. //
  3. // Typedefs and Function proto for Forced Configuration Edit (FCE)
  4. // support.
  5. // These function are in FCE.C, which is part of SETUPX.DLL
  6. //
  7. //***************************************************************************
  8. #define NOT_VXD
  9. #include <configmg.h>
  10. #define ULONG_AT(x) (*(LPULONG)(x))
  11. typedef WORD FCERET;
  12. typedef LPVOID LPREGLOGCONF;
  13. typedef ULONG _far *LPULONG;
  14. #define FCE_OK 0x00000000
  15. #define FCE_OK_IS_ALLOC 0x00000001
  16. #define FCE_OK_IS_NOT_ALLOC 0x00000002
  17. #define FCE_OK_IS_IN_CONFLICT 0x00000003
  18. #define FCE_ERROR 0x00000004
  19. #define FCE_NO_MORE 0x00000005
  20. #define REGSTR_VAL_FORCEDCONFIG "ForcedConfig" //
  21. typedef union _RESOURCE_POINTER {
  22. LPBYTE pRaw;
  23. LPDWORD pDword;
  24. MEM_RESOURCE FAR *pMem;
  25. IO_RESOURCE FAR *pIo;
  26. DMA_RESOURCE FAR *pDma;
  27. IRQ_RESOURCE FAR *pIrq;
  28. } RESOURCE_POINTER;
  29. typedef struct _ASSIGN_RESOURCES_DATA {
  30. LPDEVICE_INFO lpdi;
  31. UINT EnabledBits;
  32. UINT AutomaticBits;
  33. } ASSIGN_RESOURCES_DATA, FAR* LPASSIGN_RESOURCES_DATA;
  34. FCERET WINAPI
  35. FCEInit(DWORD dwFlags);
  36. #define FCE_FLAGS_USECONFIGMG 0x00000001
  37. FCERET WINAPI
  38. FCEGetResDes(LPREGLOGCONF pLogConf, WORD wResNumber, PRESOURCEID PResType);
  39. FCERET WINAPI
  40. FCEGetFirstValue(DEVNODE dnDevNode, LPREGLOGCONF pLogConf, WORD wResNumber, LPULONG pulValue, LPULONG pulLen);
  41. FCERET WINAPI
  42. FCEGetOtherValue(DEVNODE dnDevNode, LPREGLOGCONF pLogConf, WORD wResNumber, BOOL bNext, LPULONG pulValue, LPULONG pulLen);
  43. FCERET WINAPI
  44. FCEGetValidateValue(DEVNODE dnDevNode, LPREGLOGCONF pLogConf, WORD wResNumber, ULONG ulValue, ULONG ulLen, LPULONG pulValue, LPULONG pulLen);
  45. FCERET WINAPI
  46. FCEWriteThisForcedConfigNow(LPREGLOGCONF pLogConf, HKEY hkey);
  47. FCERET WINAPI
  48. FCEAddResDes(LPREGLOGCONF pLogConf, LPBYTE lpResDes, ULONG ulResDesSize, RESOURCEID ResType);
  49. FCERET WINAPI
  50. FCEDeleteResDes(LPREGLOGCONF pLogConf, WORD wResNumber, LPULONG pulNewSize);
  51. FCERET WINAPI
  52. FCEGetAllocValue(LPREGLOGCONF pLogConf, WORD wResNumber, LPULONG pulValue, LPULONG pulLen);