[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