diff --git a/mingw-w64-headers/ddk/include/ddk/wmilib.h b/mingw-w64-headers/ddk/include/ddk/wmilib.h
index 85ad761..e3e5cee 100644
--- a/mingw-w64-headers/ddk/include/ddk/wmilib.h
+++ b/mingw-w64-headers/ddk/include/ddk/wmilib.h
@@ -23,24 +23,26 @@
 } WMIGUIDREGINFO, *PWMIGUIDREGINFO;
 
 typedef NTSTATUS
-(NTAPI *PWMI_QUERY_REGINFO) (
+(NTAPI WMI_QUERY_REGINFO_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PULONG RegFlags,
   IN OUT PUNICODE_STRING InstanceName,
   OUT PUNICODE_STRING *RegistryPath OPTIONAL,
   IN OUT PUNICODE_STRING MofResourceName,
   OUT PDEVICE_OBJECT *Pdo OPTIONAL);
+typedef WMI_QUERY_REGINFO_CALLBACK *PWMI_QUERY_REGINFO;
 
 typedef NTSTATUS
-(NTAPI *PWMI_FUNCTION_CONTROL) (
+(NTAPI WMI_FUNCTION_CONTROL_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PIRP Irp,
   IN ULONG GuidIndex,
   IN WMIENABLEDISABLECONTROL Function,
   IN BOOLEAN Enable);
+typedef WMI_FUNCTION_CONTROL_CALLBACK *PWMI_FUNCTION_CONTROL;
 
 typedef NTSTATUS
-(NTAPI *PWMI_QUERY_DATABLOCK) (
+(NTAPI WMI_QUERY_DATABLOCK_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PIRP Irp,
   IN ULONG GuidIndex,
@@ -49,9 +51,10 @@
   OUT PULONG InstanceLengthArray OPTIONAL,
   IN ULONG BufferAvail,
   OUT PUCHAR Buffer OPTIONAL);
+typedef WMI_QUERY_DATABLOCK_CALLBACK *PWMI_QUERY_DATABLOCK;
 
 typedef NTSTATUS
-(NTAPI *PWMI_EXECUTE_METHOD) (
+(NTAPI WMI_EXECUTE_METHOD_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PIRP Irp,
   IN ULONG GuidIndex,
@@ -60,18 +63,20 @@
   IN ULONG InBufferSize,
   IN ULONG OutBufferSize,
   IN OUT PUCHAR Buffer);
+typedef WMI_EXECUTE_METHOD_CALLBACK *PWMI_EXECUTE_METHOD;
 
 typedef NTSTATUS
-(NTAPI *PWMI_SET_DATABLOCK) (
+(NTAPI WMI_SET_DATABLOCK_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PIRP Irp,
   IN ULONG GuidIndex,
   IN ULONG InstanceIndex,
   IN ULONG BufferSize,
   IN PUCHAR Buffer);
+typedef WMI_SET_DATABLOCK_CALLBACK *PWMI_SET_DATABLOCK;
 
 typedef NTSTATUS
-(NTAPI *PWMI_SET_DATAITEM) (
+(NTAPI WMI_SET_DATAITEM_CALLBACK) (
   IN OUT PDEVICE_OBJECT DeviceObject,
   IN OUT PIRP Irp,
   IN ULONG GuidIndex,
@@ -79,6 +84,7 @@
   IN ULONG DataItemId,
   IN ULONG BufferSize,
   IN PUCHAR Buffer);
+typedef WMI_SET_DATAITEM_CALLBACK *PWMI_SET_DATAITEM;
 
 typedef struct _WMILIB_CONTEXT {
   ULONG GuidCount;
