Leaked source code of windows server 2003
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.

84 lines
5.2 KiB

  1. //***************************************************************************
  2. //* Copyright (c) Microsoft Corporation 1995. All rights reserved. *
  3. //***************************************************************************
  4. //* *
  5. //* NTAPI.H *
  6. //* *
  7. //***************************************************************************
  8. #ifndef _NTAPI_H_
  9. #define _NTAPI_H_
  10. //***************************************************************************
  11. //* INCLUDE FILES *
  12. //***************************************************************************
  13. #include <windows.h>
  14. #include <winerror.h>
  15. #include <memory.h>
  16. #include <string.h>
  17. #include <stdlib.h>
  18. #include <stdio.h>
  19. #include <setupapi.h>
  20. #include <wtypes.h>
  21. //***************************************************************************
  22. //* TYPE DEFINITIONS *
  23. //***************************************************************************
  24. typedef UINT (WINAPI *PFSetupDefaultQueueCallback)( PVOID, UINT, UINT_PTR, UINT_PTR );
  25. typedef BOOL (WINAPI *PFSetupInstallFromInfSection)( HWND, HINF, PCSTR, UINT, HKEY, PCSTR, UINT, PSP_FILE_CALLBACK_A, PVOID, HDEVINFO, PSP_DEVINFO_DATA );
  26. typedef HINF (WINAPI *PFSetupOpenInfFile)( PCSTR, PCSTR, DWORD, PUINT );
  27. typedef BOOL (WINAPI *PFSetupOpenAppendInfFile)( PCSTR, HINF, PUINT );
  28. typedef VOID (WINAPI *PFSetupCloseInfFile)( HINF );
  29. typedef PVOID (WINAPI *PFSetupInitDefaultQueueCallbackEx)( HWND,HWND,UINT,DWORD,PVOID );
  30. typedef VOID (WINAPI *PFSetupTermDefaultQueueCallback)( PVOID );
  31. typedef BOOL (WINAPI *PFSetupSetDirectoryId)( HINF, DWORD, PCSTR );
  32. typedef BOOL (WINAPI *PFSetupFindFirstLine)( HINF, PCSTR, PCSTR, PINFCONTEXT );
  33. typedef BOOL (WINAPI *PFSetupFindNextMatchLine)( PINFCONTEXT, PCSTR, PINFCONTEXT );
  34. typedef BOOL (WINAPI *PFSetupGetLineText)( PINFCONTEXT, HINF, PCSTR, PCSTR, PSTR, DWORD, PDWORD );
  35. typedef BOOL (WINAPI *PFSetupGetLineByIndex)( HINF, PCSTR, DWORD, PINFCONTEXT );
  36. typedef BOOL (WINAPI *PFSetupFindFirstLine)( HINF, PCSTR, PCSTR, PINFCONTEXT );
  37. typedef BOOL (WINAPI *PFSetupFindNextLine)( PINFCONTEXT, PINFCONTEXT );
  38. typedef HSPFILEQ (WINAPI *PFSetupOpenFileQueue)( VOID );
  39. typedef BOOL (WINAPI *PFSetupCloseFileQueue)( HSPFILEQ );
  40. typedef BOOL (WINAPI *PFSetupQueueCopy)( HSPFILEQ, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, PCSTR, DWORD );
  41. typedef BOOL (WINAPI *PFSetupCommitFileQueue)( HWND, HSPFILEQ, PSP_FILE_CALLBACK_A, PVOID );
  42. typedef BOOL (WINAPI *PFSetupGetStringField)(PINFCONTEXT, DWORD, PSTR, DWORD, PDWORD);
  43. //***************************************************************************
  44. //* GLOBAL CONSTANTS *
  45. //***************************************************************************
  46. static const TCHAR c_szSetupDefaultQueueCallback[] = "SetupDefaultQueueCallbackA";
  47. static const TCHAR c_szSetupInstallFromInfSection[] = "SetupInstallFromInfSectionA";
  48. static const TCHAR c_szSetupOpenInfFile[] = "SetupOpenInfFileA";
  49. static const TCHAR c_szSetupOpenAppendInfFile[] = "SetupOpenAppendInfFileA";
  50. static const TCHAR c_szSetupCloseInfFile[] = "SetupCloseInfFile";
  51. static const TCHAR c_szSetupInitDefaultQueueCallbackEx[] = "SetupInitDefaultQueueCallbackEx";
  52. static const TCHAR c_szSetupTermDefaultQueueCallback[] = "SetupTermDefaultQueueCallback";
  53. static const TCHAR c_szSetupSetDirectoryId[] = "SetupSetDirectoryIdA";
  54. static const TCHAR c_szSetupGetLineText[] = "SetupGetLineTextA";
  55. static const TCHAR c_szSetupGetLineByIndex[] = "SetupGetLineByIndexA";
  56. static const TCHAR c_szSetupFindFirstLine[] = "SetupFindFirstLineA";
  57. static const TCHAR c_szSetupFindNextLine[] = "SetupFindNextLine";
  58. static const TCHAR c_szSetupOpenFileQueue[] = "SetupOpenFileQueue";
  59. static const TCHAR c_szSetupCloseFileQueue[] = "SetupCloseFileQueue";
  60. static const TCHAR c_szSetupQueueCopy[] = "SetupQueueCopyA";
  61. static const TCHAR c_szSetupCommitFileQueue[] = "SetupCommitFileQueueA";
  62. static const TCHAR c_szSetupGetStringField[] = "SetupGetStringFieldA";
  63. //***************************************************************************
  64. //* FUNCTION PROTOTYPES *
  65. //***************************************************************************
  66. BOOL LoadSetupAPIFuncs( VOID );
  67. HRESULT InstallOnNT( PSTR, PSTR );
  68. HRESULT MySetupOpenInfFile( PCSTR );
  69. VOID MySetupCloseInfFile( VOID );
  70. HRESULT MySetupSetDirectoryId( DWORD, PSTR );
  71. BOOL GetNTInfLine( PSTR, PSTR, DWORD );
  72. HRESULT MySetupGetLineText( PCSTR, PCSTR, PSTR, DWORD, PDWORD );
  73. HRESULT MySetupGetLineByIndex( PCSTR, DWORD, PSTR, DWORD, PDWORD );
  74. HRESULT MySetupGetStringField( PCSTR c_pszSection, DWORD dwLineIndex, DWORD dwFieldIndex,
  75. PSTR pszBuffer, DWORD dwBufferSize, PDWORD pdwRequiredSize );
  76. #endif // _NTAPI_H_