{
DPRINT("Calling KoCreateInstance\n");
/* Call KS.SYS's Kernel-mode COM function */
- status = KoCreateInstance(ClassId, NULL, CLSCTX_KERNEL_SERVER, &IID_IPort, &new_port);
+ status = KoCreateInstance(ClassId, NULL, CLSCTX_KERNEL_SERVER, &IID_IPort, (PVOID*)&new_port);
}
else
{
+++ /dev/null
-;
-; Exports definition file for portcls.sys
-;
-EXPORTS
-DllInitialize@4
-DllUnload@0
-
-; Adapters (adapter.c)
-PcAddAdapterDevice@20
-PcInitializeAdapterDriver@12
-
-; Factories
-PcNewDmaChannel@20
-PcNewInterruptSync@20
-PcNewMiniport@8
-PcNewPort@8
-PcNewRegistryKey@36
-PcNewResourceList@20
-PcNewResourceSublist@20
-PcNewServiceGroup@8
-
-; Digital Rights Management (drm.c)
-PcAddContentHandlers@12
-PcCreateContentMixed@12
-PcDestroyContent@4
-PcForwardContentToDeviceObject@12
-PcForwardContentToFileObject@8
-PcForwardContentToInterface@12
-PcGetContentRights@8
-
-; IRP Helpers
-PcCompleteIrp@12
-PcDispatchIrp@8
-PcForwardIrpSynchronous@8
-
-; Misc
-PcGetTimeInterval@8
-PcRegisterSubdevice@12
-
-; Physical Connections
-PcRegisterPhysicalConnection@20
-PcRegisterPhysicalConnectionFromExternal@20
-PcRegisterPhysicalConnectionToExternal@20
-
-; Power Management
-PcRegisterAdapterPowerManagement@8
-PcRequestNewPowerState@8
-
-; Properties
-PcCompletePendingPropertyRequest@8
-PcGetDeviceProperty@20
-
-; Timeouts
-PcRegisterIoTimeout@12
-PcUnregisterIoTimeout@12
<linkerflag>-fno-rtti</linkerflag>
-->
<compilerflag compiler="cpp">-Wno-non-virtual-dtor</compilerflag>
- <importlibrary definition="portcls.def" />
+ <importlibrary definition="portcls.spec.def" />
<define name="_NTDDK_" />
<define name="PC_NO_IMPORTS" />
<file>MiniportWavePci.cpp</file>
<file>portcls.rc</file>
+ <file>portcls.spec</file>
</module>
--- /dev/null
+@ stdcall DllInitialize(long)
+@ stdcall DllUnload()
+
+; Adapters (adapter.c)
+@ stdcall PcAddAdapterDevice(ptr ptr ptr long long)
+@ stdcall PcInitializeAdapterDriver(ptr ptr ptr)
+
+; Factories
+@ stdcall PcNewDmaChannel(ptr ptr long ptr ptr)
+@ stdcall PcNewInterruptSync(ptr ptr ptr long long)
+@ stdcall PcNewMiniport(ptr ptr)
+@ stdcall PcNewPort(ptr ptr)
+@ stdcall PcNewRegistryKey(ptr ptr long long ptr ptr ptr long ptr)
+@ stdcall PcNewResourceList(ptr ptr long ptr ptr)
+@ stdcall PcNewResourceSublist(ptr ptr long ptr long)
+@ stdcall PcNewServiceGroup(ptr ptr)
+
+; Digital Rights Management (drm.c)
+@ stdcall PcAddContentHandlers(long ptr long)
+@ stdcall PcCreateContentMixed(ptr long ptr)
+@ stdcall PcDestroyContent(long)
+@ stdcall PcForwardContentToDeviceObject(long ptr ptr)
+@ stdcall PcForwardContentToFileObject(long ptr)
+@ stdcall PcForwardContentToInterface(long ptr long)
+@ stdcall PcGetContentRights(long ptr)
+
+; IRP Helpers
+@ stdcall PcCompleteIrp(ptr ptr long)
+@ stdcall PcDispatchIrp(ptr ptr)
+@ stdcall PcForwardIrpSynchronous(ptr ptr)
+
+; Misc
+@ stdcall PcGetTimeInterval(long long)
+@ stdcall PcRegisterSubdevice(ptr wstr ptr)
+
+; Physical Connections
+@ stdcall PcRegisterPhysicalConnection(ptr ptr long ptr long)
+@ stdcall PcRegisterPhysicalConnectionFromExternal(ptr ptr long ptr long)
+@ stdcall PcRegisterPhysicalConnectionToExternal(ptr ptr long ptr long)
+
+; Power Management
+@ stdcall PcRegisterAdapterPowerManagement(ptr ptr)
+@ stdcall PcRequestNewPowerState(ptr long)
+
+; Properties
+@ stdcall PcCompletePendingPropertyRequest(ptr long)
+@ stdcall PcGetDeviceProperty(ptr long long ptr ptr)
+
+; Timeouts
+@ stdcall PcRegisterIoTimeout(ptr ptr ptr)
+@ stdcall PcUnregisterIoTimeout(ptr ptr ptr)