ntoskrnl.exe: add a stub for IoRegisterPlugPlayNotification

Austin English austinenglish at gmail.com
Fri Oct 31 02:49:10 CDT 2014


Fixes bug 30492, also seen in bug 36777.

-- 
-Austin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20141031/e8b3f937/attachment.html>
-------------- next part --------------
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 7bb96fb..7de44ad 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1927,3 +1927,12 @@ VOID WINAPI IoStartNextPacket(PDEVICE_OBJECT deviceobject, BOOLEAN cancelable)
 {
     FIXME("(%p %d) stub\n", deviceobject, cancelable);
 }
+
+/*****************************************************
+ *           IoRegisterPlugPlayNotification  (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoRegisterPlugPlayNotification(IO_NOTIFICATION_EVENT_CATEGORY category, ULONG flags, PVOID data, PDRIVER_OBJECT driver, PDRIVER_NOTIFICATION_CALLBACK_ROUTINE callback, PVOID context, PVOID *notification)
+{
+    FIXME("stub\n");
+    return STATUS_SUCCESS;
+}
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 11aaa2b..c7c0bfa 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -430,7 +430,7 @@
 @ stdcall IoRegisterFileSystem(ptr)
 @ stub IoRegisterFsRegistrationChange
 @ stub IoRegisterLastChanceShutdownNotification
-@ stub IoRegisterPlugPlayNotification
+@ stdcall IoRegisterPlugPlayNotification(long long ptr ptr ptr ptr ptr)
 @ stdcall IoRegisterShutdownNotification(ptr)
 @ stdcall IoReleaseCancelSpinLock(ptr)
 @ stub IoReleaseRemoveLockAndWaitEx
diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h
index f6aef8f..9d0dbb6 100644
--- a/include/ddk/ntddk.h
+++ b/include/ddk/ntddk.h
@@ -127,6 +127,18 @@ typedef struct _IMAGE_INFO
     ULONG  ImageSectionNumber;
 } IMAGE_INFO, *PIMAGE_INFO;
 
+typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
+    EventCategoryReserved,
+    EventCategoryHardwareProfileChange,
+    EventCategoryDeviceInterfaceChange,
+    EventCategoryTargetDeviceChange
+} IO_NOTIFICATION_EVENT_CATEGORY;
+
+typedef NTSTATUS (*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
+    PVOID NotificationStructure,
+    PVOID Context
+);
+
 typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION
 {
   LARGE_INTEGER ValidDataLength;


More information about the wine-patches mailing list