[Wine-patches] [eterhack 08/24] ntoskrnl.exe: Add stub for IoRegisterPlugPlayNotification.

Alexander Morozov =?iso-8859-1?q?amorozov_=CE=C1_etersoft=2Eru?=
Ср Мар 4 12:25:17 MSK 2009


---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   19 +++++++++++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |   10 ++++++++++
 3 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index bf32101..a95bac0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1631,6 +1631,25 @@ void WINAPI IoRegisterDriverReinitialization( PDRIVER_OBJECT obj, PDRIVER_REINIT
 
 
 /***********************************************************************
+ *           IoRegisterPlugPlayNotification    (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoRegisterPlugPlayNotification( IO_NOTIFICATION_EVENT_CATEGORY
+                                                EventCategory,
+                                                ULONG EventCategoryFlags,
+                                                PVOID EventCategoryData,
+                                                PDRIVER_OBJECT DriverObject,
+                                                PDRIVER_NOTIFICATION_CALLBACK_ROUTINE
+                                                CallbackRoutine, PVOID Context,
+                                                PVOID *NotificationEntry )
+{
+    FIXME( "stub: %u %u %p %p %p %p %p\n", EventCategory, EventCategoryFlags,
+           EventCategoryData, DriverObject, CallbackRoutine, Context,
+           NotificationEntry );
+    return STATUS_SUCCESS;
+}
+
+
+/***********************************************************************
  *           IoRegisterShutdownNotification    (NTOSKRNL.EXE.@)
  */
 NTSTATUS WINAPI IoRegisterShutdownNotification( PDEVICE_OBJECT obj )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index a28467b..402e2ad 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -430,7 +430,7 @@
 @ stub IoRegisterFileSystem
 @ stub IoRegisterFsRegistrationChange
 @ stub IoRegisterLastChanceShutdownNotification
-@ stub IoRegisterPlugPlayNotification
+@ stdcall IoRegisterPlugPlayNotification(long long ptr ptr ptr ptr ptr)
 @ stdcall IoReleaseCancelSpinLock(long)
 @ stdcall IoRegisterShutdownNotification(ptr)
 @ stub IoReleaseRemoveLockAndWaitEx
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index f14251d..f6c192d 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1089,6 +1089,15 @@ typedef enum {
     DevicePropertyRemovalPolicy
 } DEVICE_REGISTRY_PROPERTY;
 
+typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
+    EventCategoryReserved,
+    EventCategoryHardwareProfileChange,
+    EventCategoryDeviceInterfaceChange,
+    EventCategoryTargetDeviceChange
+} IO_NOTIFICATION_EVENT_CATEGORY;
+
+typedef NTSTATUS (WINAPI *PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(PVOID,PVOID);
+
 NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
 
 #define IoGetCurrentIrpStackLocation(_Irp) ((_Irp)->Tail.Overlay.CurrentStackLocation)
@@ -1135,6 +1144,7 @@ PVOID     WINAPI IoGetDriverObjectExtension(PDRIVER_OBJECT,PVOID);
 PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject(PFILE_OBJECT);
 void      WINAPI IoInitializeIrp(IRP*,USHORT,CCHAR);
 void      WINAPI IoInvalidateDeviceRelations(PDEVICE_OBJECT,DEVICE_RELATION_TYPE);
+NTSTATUS  WINAPI IoRegisterPlugPlayNotification(IO_NOTIFICATION_EVENT_CATEGORY,ULONG,PVOID,PDRIVER_OBJECT,PDRIVER_NOTIFICATION_CALLBACK_ROUTINE,PVOID,PVOID*);
 void      WINAPI IoWriteErrorLogEntry(PVOID);
 
 NTSTATUS  WINAPI KeDelayExecutionThread(KPROCESSOR_MODE,BOOLEAN,PLARGE_INTEGER);
-- 
1.6.1.3.GIT



Подробная информация о списке рассылки Wine-patches