[Wine-patches] [19/23] ntoskrnl.exe: Add stub for IoGetDeviceProperty.

Alexander Morozov =?iso-8859-1?q?amorozov_=CE=C1_etersoft=2Eru?=
Пн Янв 19 18:25:27 MSK 2009


For eterhack branch
----------- следующая часть -----------
From 244b491042fe7b0bc28c01176db72d0a7e6baa00 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov на etersoft.ru>
Date: Fri, 16 Jan 2009 15:01:56 +0300
Subject: [PATCH] ntoskrnl.exe: Add stub for IoGetDeviceProperty.

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

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 7072f96..2b4e091 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1368,6 +1368,20 @@ NTSTATUS  WINAPI IoGetDeviceObjectPointer( UNICODE_STRING *name, ACCESS_MASK acc
 
 
 /***********************************************************************
+ *           IoGetDeviceProperty   (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoGetDeviceProperty( PDEVICE_OBJECT DeviceObject,
+                                     DEVICE_REGISTRY_PROPERTY DeviceProperty,
+                                     ULONG BufferLength, PVOID PropertyBuffer,
+                                     PULONG ResultLength )
+{
+    FIXME( "stub: %p %u %u %p %p\n", DeviceObject, DeviceProperty, BufferLength,
+           PropertyBuffer, ResultLength );
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/***********************************************************************
  *           IofCallDriver   (NTOSKRNL.EXE.@)
  */
 #ifdef DEFINE_FASTCALL2_ENTRYPOINT
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index d123928..459c497 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -383,7 +383,7 @@
 @ stub IoGetDeviceInterfaceAlias
 @ stub IoGetDeviceInterfaces
 @ stdcall IoGetDeviceObjectPointer(ptr long ptr ptr)
-@ stub IoGetDeviceProperty
+@ stdcall IoGetDeviceProperty(ptr long long ptr ptr)
 @ stub IoGetDeviceToVerify
 @ stub IoGetDiskDeviceObject
 @ stub IoGetDmaAdapter
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index e5f07b5..c9a63ed 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1038,6 +1038,29 @@ typedef struct _DEVICE_RELATIONS {
     PDEVICE_OBJECT Objects[1];
 } DEVICE_RELATIONS, *PDEVICE_RELATIONS;
 
+typedef enum {
+    DevicePropertyDeviceDescription,
+    DevicePropertyHardwareID,
+    DevicePropertyCompatibleIDs,
+    DevicePropertyBootConfiguration,
+    DevicePropertyBootConfigurationTranslated,
+    DevicePropertyClassName,
+    DevicePropertyClassGuid,
+    DevicePropertyDriverKeyName,
+    DevicePropertyManufacturer,
+    DevicePropertyFriendlyName,
+    DevicePropertyLocationInformation,
+    DevicePropertyPhysicalDeviceObjectName,
+    DevicePropertyBusTypeGuid,
+    DevicePropertyLegacyBusType,
+    DevicePropertyBusNumber,
+    DevicePropertyEnumeratorName,
+    DevicePropertyAddress,
+    DevicePropertyUINumber,
+    DevicePropertyInstallState,
+    DevicePropertyRemovalPolicy
+} DEVICE_REGISTRY_PROPERTY;
+
 NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
 
 #define IoGetCurrentIrpStackLocation(_Irp) ((_Irp)->Tail.Overlay.CurrentStackLocation)
@@ -1076,6 +1099,7 @@ void      WINAPI IoFreeIrp(IRP*);
 PDEVICE_OBJECT WINAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT);
 PEPROCESS WINAPI IoGetCurrentProcess(void);
 NTSTATUS  WINAPI IoGetDeviceObjectPointer(UNICODE_STRING*,ACCESS_MASK,PFILE_OBJECT*,PDEVICE_OBJECT*);
+NTSTATUS  WINAPI IoGetDeviceProperty(PDEVICE_OBJECT,DEVICE_REGISTRY_PROPERTY,ULONG,PVOID,PULONG);
 PVOID     WINAPI IoGetDriverObjectExtension(PDRIVER_OBJECT,PVOID);
 PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject(PFILE_OBJECT);
 void      WINAPI IoInitializeIrp(IRP*,USHORT,CCHAR);
-- 
1.6.0.2.GIT



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