Process Hacker
ntpnpapi.h
Go to the documentation of this file.
1 #ifndef _NTPNPAPI_H
2 #define _NTPNPAPI_H
3 
5 {
18 
19 typedef struct _PLUGPLAY_EVENT_BLOCK
20 {
21  GUID EventGuid;
23  PULONG Result;
24  ULONG Flags;
25  ULONG TotalSize;
26  PVOID DeviceObject;
27 
28  union
29  {
30  struct
31  {
32  GUID ClassGuid;
33  WCHAR SymbolicLinkName[1];
34  } DeviceClass;
35  struct
36  {
37  WCHAR DeviceIds[1];
38  } TargetDevice;
39  struct
40  {
41  WCHAR DeviceId[1];
42  } InstallDevice;
43  struct
44  {
46  WCHAR DeviceIds[1];
48  struct
49  {
50  PVOID Notification;
52  struct
53  {
57  struct
58  {
60  WCHAR DeviceIdVetoNameBuffer[1]; // DeviceId<null>VetoName<null><null>
62  struct
63  {
66  struct
67  {
68  WCHAR ParentId[1];
70  } u;
72 
74 {
100 
101 #if (PHNT_VERSION < PHNT_WIN8)
102 NTSYSCALLAPI
103 NTSTATUS
104 NTAPI
105 NtGetPlugPlayEvent(
106  _In_ HANDLE EventHandle,
107  _In_opt_ PVOID Context,
108  _Out_writes_bytes_(EventBufferSize) PPLUGPLAY_EVENT_BLOCK EventBlock,
109  _In_ ULONG EventBufferSize
110  );
111 #endif
112 
113 NTSYSCALLAPI
114 NTSTATUS
115 NTAPI
117  _In_ PLUGPLAY_CONTROL_CLASS PnPControlClass,
118  _Inout_updates_bytes_(PnPControlDataLength) PVOID PnPControlData,
119  _In_ ULONG PnPControlDataLength
120  );
121 
122 #if (PHNT_VERSION >= PHNT_WIN7)
123 
124 NTSYSCALLAPI
125 NTSTATUS
126 NTAPI
128  VOID
129  );
130 
131 NTSYSCALLAPI
132 NTSTATUS
133 NTAPI
135  VOID
136  );
137 
138 NTSYSCALLAPI
139 NTSTATUS
140 NTAPI
142  VOID
143  );
144 
145 #endif
146 
147 #if (PHNT_VERSION >= PHNT_VISTA)
148 NTSYSCALLAPI
149 NTSTATUS
150 NTAPI
152  _In_ PUNICODE_STRING TargetInstancePath,
153  _In_ PUNICODE_STRING SpareInstancePath,
154  _In_ ULONG Flags
155  );
156 #endif
157 
158 #endif