/wiener_pcivme/pcivme Package/Win8.1Release/pcivme Package.log |
---|
1,8 → 1,8 |
Build started 10.2.2014 10:11:48. |
1>Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme Package\pcivme Package.vcxproj" on node 2 (Rebuild target(s)). |
Build started 15.4.2014 9:30:24. |
1>Project "C:\home\rok\wiener_pcivme_new\pcivme Package\pcivme Package.vcxproj" on node 2 (Build target(s)). |
1>Inf2Cat: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\inf2cat.exe /os:6_3_x86 /driver:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme Package\\" |
......................... |
C:\Program Files\Windows Kits\8.1\bin\x86\inf2cat.exe /os:6_3_x86 /driver:"C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme Package\\" |
.......................... |
Signability test complete. |
Errors: |
12,9 → 12,9 |
None |
Catalog generation complete. |
C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme Package\pcivme.cat |
1>Done Building Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme Package\pcivme Package.vcxproj" (Rebuild target(s)). |
C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme Package\pcivme.cat |
1>Done Building Project "C:\home\rok\wiener_pcivme_new\pcivme Package\pcivme Package.vcxproj" (Build target(s)). |
Build succeeded. |
Time Elapsed 00:00:00.36 |
Time Elapsed 00:00:00.76 |
/wiener_pcivme/pcivme Package/pcivme Package.vcxproj.user |
---|
1,4 → 1,9 |
<?xml version="1.0" encoding="utf-8"?> |
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
<PropertyGroup /> |
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> |
<SignMode>Off</SignMode> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Release|Win32'"> |
<TestCertificate>CN="WDKTestCert f9daq,130420202756907596" | 0151AB799219824083D69252DB1123D19497D981</TestCertificate> |
</PropertyGroup> |
</Project> |
/wiener_pcivme/pcivme Package/Win8.1Debug/pcivme Package.log |
---|
1,8 → 1,8 |
Build started 10.2.2014 10:11:48. |
1>Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme Package\pcivme Package.vcxproj" on node 2 (Rebuild target(s)). |
Build started 14.4.2014 14:20:41. |
1>Project "C:\home\rok\wiener_pcivme_new\pcivme Package\pcivme Package.vcxproj" on node 2 (Build target(s)). |
1>Inf2Cat: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\inf2cat.exe /os:6_3_x86 /driver:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme Package\\" |
......................... |
C:\Program Files\Windows Kits\8.1\bin\x86\inf2cat.exe /os:6_3_x86 /driver:"C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme Package\\" |
.......................... |
Signability test complete. |
Errors: |
12,14 → 12,9 |
None |
Catalog generation complete. |
C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme Package\pcivme.cat |
DriverTestSign: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool.exe sign /ph /sha1 "582A29F728D647902CAA175FC6F560D6BB7011DD" |
Done Adding Additional Store |
Successfully signed: C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme Package\pcivme.cat |
1>Done Building Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme Package\pcivme Package.vcxproj" (Rebuild target(s)). |
C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme Package\pcivme.cat |
1>Done Building Project "C:\home\rok\wiener_pcivme_new\pcivme Package\pcivme Package.vcxproj" (Build target(s)). |
Build succeeded. |
Time Elapsed 00:00:00.37 |
Time Elapsed 00:00:00.80 |
/wiener_pcivme/pcivme Package |
---|
Property changes: |
Added: svn:global-ignores |
## -0,0 +1,4 ## |
+Win7Debug |
+Win7Release |
+Win8Debug |
+Win8Release |
Index: pcivme/SOURCE/pcivme_drv.c |
=================================================================== |
--- pcivme/SOURCE/pcivme_drv.c (revision 40) |
+++ pcivme/SOURCE/pcivme_drv.c (revision 41) |
@@ -45,6 +45,8 @@ |
//------------------------------------------------------------------------ |
// DEFINES |
// |
+#define arraysize(p) (sizeof(p)/sizeof((p)[0])) |
+ |
#ifndef DWORD |
#define DWORD ULONG |
#endif |
@@ -131,12 +133,20 @@ |
{ |
int i; |
UNICODE_STRING symbol_name; |
+ if (!driverObj->DeviceObject) { |
+ KdPrint(("PCIVMEUnload() DeviceObject does not exist \n")); |
+ return; |
+ } |
DEVICE_EXT *ext = (DEVICE_EXT*)(driverObj->DeviceObject->DeviceExtension); |
int nPCIADAs = ext->nPCIADAs; |
PCIADA *pciada; |
- KdPrint(("PCIVMEUnload()\n")); |
+ KdPrint(("PCIVMEUnload() InitState %d \n", ext->nInitState )); |
+ //if (ext->LowerDeviceObject) IoDetachDevice(ext->LowerDeviceObject); |
+ //IoDeleteDevice(driverObj->DeviceObject); |
+ if (ext->nInitState!=100) return; |
+ |
switch (ext->nInitState) |
{ |
case 8: |
@@ -183,7 +193,7 @@ |
case 2: |
// HalTranslateBusAddress has no counterpart |
case 1: |
- PCIVMEFreeResources(driverObj->DeviceObject); |
+ // PCIVMEFreeResources(driverObj->DeviceObject); // not used in pnp |
default: |
case 0: |
RtlInitUnicodeString(&symbol_name, DOS_DEVICE_NAME); |
@@ -192,9 +202,10 @@ |
IoDeleteSymbolicLink( &symbol_name); |
// delete the deviceObject |
+ if (ext->LowerDeviceObject) IoDetachDevice(ext->LowerDeviceObject); |
IoDeleteDevice(driverObj->DeviceObject); |
} |
- |
+ |
KdPrint(("PCIVMEUnload() OK.\n")); |
} |
@@ -631,7 +642,7 @@ |
} |
} |
} |
- |
+ KdPrint(("SearchDevices() found %d devices\n", (*found))); |
return STATUS_SUCCESS; |
} |
@@ -640,6 +651,7 @@ |
// |
NTSTATUS PLX9050BugFix(PDEVICE_OBJECT device_Obj) |
{ |
+ // http://permalink.gmane.org/gmane.linux.kernel.pci/18419 |
DEVICE_EXT *DeviceExtension = (DEVICE_EXT*)device_Obj->DeviceExtension; |
int i; |
ULONG dwData; |
@@ -701,15 +713,74 @@ |
return STATUS_SUCCESS; |
} |
+static VOID ShowResources(IN PCM_PARTIAL_RESOURCE_LIST list) |
+{ // ShowResources |
+ PCM_PARTIAL_RESOURCE_DESCRIPTOR resource = list->PartialDescriptors; |
+ ULONG nres = list->Count; |
+ ULONG i; |
+ for (i = 0; i < nres; ++i, ++resource) |
+ { // for each resource |
+ ULONG type = resource->Type; |
+ |
+ static char* namelow[] = { |
+ "CmResourceTypeNull",// 0 // ResType_All or ResType_None (0x0000) |
+ "CmResourceTypePort",// 1 // ResType_IO (0x0002) |
+ "CmResourceTypeInterrupt",// 2 // ResType_IRQ (0x0004) |
+ "CmResourceTypeMemory",// 3 // ResType_Mem (0x0001) |
+ "CmResourceTypeDma",// 4 // ResType_DMA (0x0003) |
+ "CmResourceTypeDeviceSpecific",// 5 // ResType_ClassSpecific (0xFFFF) |
+ "CmResourceTypeBusNumber",// 6 // ResType_BusNumber (0x0006) |
+ "CmResourceTypeMemoryLarge" // 7 // ResType_MemLarge (0x0007) |
+ }; |
+ static char* namehigh[] = { |
+ //"CmResourceTypeNonArbitrated" ,// 128 // Not arbitrated if 0x80 bit set |
+ "CmResourceTypeConfigData",// 128 // ResType_Reserved (0x8000) |
+ "CmResourceTypeDevicePrivate",// 129 // ResType_DevicePrivate (0x8001) |
+ "CmResourceTypePcCardConfig",// 130 // ResType_PcCardConfig (0x8002) |
+ "CmResourceTypeMfCardConfig",// 131 // ResType_MfCardConfig (0x8003) |
+ "CmResourceTypeConnection" // 132 // ResType_Connection (0x8004) |
+ }; |
+ |
+ if (type<8) KdPrint((" [%d] type %s", type, type < arraysize(namelow) ? namelow[type] : "unknown")); |
+ if (type>127) KdPrint((" [%d] type %s", type, type-128 < arraysize(namehigh) ? namehigh[type-128] : "unknown")); |
+ switch (type) |
+ { // select on resource type |
+ case CmResourceTypePort: |
+ KdPrint((" start ADDR=0x%p 0x%8X%8.8lX length %X\n", |
+ resource->u.Port.Start, resource->u.Port.Start.HighPart, resource->u.Port.Start.LowPart, |
+ resource->u.Port.Length)); |
+ break; |
+ case CmResourceTypeMemory: |
+ KdPrint((" %d start ADDR=0x%p \n", i, resource->u.Memory.Start )); |
+ break; |
+ |
+ case CmResourceTypeInterrupt: |
+ KdPrint((" IRQL %d, vector %d, affinity %d\n", |
+ resource->u.Interrupt.Level, resource->u.Interrupt.Vector, |
+ resource->u.Interrupt.Affinity)); |
+ break; |
+ |
+ case CmResourceTypeDma: |
+ KdPrint((" channel %d, port %X\n", |
+ resource->u.Dma.Channel, resource->u.Dma.Port)); |
+ |
+ |
+ |
+ } // select on resource type |
+ } // for each resource |
+} // ShowResources |
+ |
+ |
//------------------------------------------------------------------------ |
// reserve resources for PCIADAs |
// |
-NTSTATUS PCIVMEExtractResources(PCIADA *pciada, PCM_RESOURCE_LIST pList) |
+NTSTATUS PCIVMEExtractResources(PCIADA *pciada, PIRP irp) |
{ |
- PCM_RESOURCE_LIST pResourceList; |
- PCM_FULL_RESOURCE_DESCRIPTOR pFullDescriptor; |
- PCM_PARTIAL_RESOURCE_LIST pPartialList; |
+ //PCM_RESOURCE_LIST pResourceList; |
+ ///PCM_FULL_RESOURCE_DESCRIPTOR pFullDescriptor; |
+ PCM_PARTIAL_RESOURCE_LIST pPartialList = NULL; |
+ PCM_PARTIAL_RESOURCE_LIST pListTranslated = NULL; |
PCM_PARTIAL_RESOURCE_DESCRIPTOR pPartialDescriptor; |
int i; |
int bug = 0; |
@@ -716,13 +787,20 @@ |
KdPrint(("PCIVMEExtractResources()\n")); |
- pResourceList = pList; |
- pFullDescriptor = pResourceList->List; |
- pPartialList = &pFullDescriptor->PartialResourceList; |
- |
+ ///pResourceList = pList; |
+ ///pFullDescriptor = pResourceList->List; |
+ ///pPartialList = &pFullDescriptor->PartialResourceList; |
+ PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(irp); |
+ if (stack->Parameters.StartDevice.AllocatedResources) |
+ pPartialList = &stack->Parameters.StartDevice.AllocatedResources->List[0].PartialResourceList; |
+ KdPrint(("Allocated Resources:------------------\n")); |
+ ShowResources(pPartialList); |
+ |
+ int plcount = 0; |
for (i=0; i<(int)pPartialList->Count; i++) |
{ |
pPartialDescriptor = &pPartialList->PartialDescriptors[i]; |
+ |
switch (pPartialDescriptor->Type) |
{ |
case CmResourceTypeInterrupt: |
@@ -730,15 +808,15 @@ |
pciada->Vector = pPartialDescriptor->u.Interrupt.Vector; |
pciada->Affinity = pPartialDescriptor->u.Interrupt.Affinity; |
- KdPrint(("Irq : Irql: %d, Vector: %d, Affinity: %d\n", |
+ KdPrint(("AllocatedResources Irq : Irql: %d, Vector: %d, Affinity: %d\n", |
pciada->Irql, pciada->Vector, pciada->Affinity)); |
break; |
case CmResourceTypeDma: |
- KdPrint(("Dma : \n")); |
+ KdPrint(("AllocatedResources Dma : \n")); |
break; |
case CmResourceTypePort: |
- KdPrint(("Port : 0x%p\n", pPartialDescriptor->u.Port.Start)); |
+ KdPrint(("AllocatedResources Port : 0x%p\n", pPartialDescriptor->u.Port.Start)); |
break; |
case CmResourceTypeMemory: |
// special handling of PLXBUG here because of WIN2000 |
@@ -745,39 +823,108 @@ |
// WIN2000 doesn't recognize late address changes |
if (!bug) |
{ |
- if (i == 0) |
+ if (plcount == 0) |
{ |
pciada->pvPhysLcr = pPartialDescriptor->u.Memory.Start; |
- if (pciada->pvPhysLcr.LowPart & 0x80) |
+ if (pciada->pvPhysLcr.LowPart & 0x80) { |
bug = 1; |
+ KdPrint(("AllocatedResources PLXBug\n")); |
+ } |
} |
} |
else |
{ |
- if (i == 3) |
+ if (plcount == 3) |
pciada->pvPhysLcr = pPartialDescriptor->u.Memory.Start; |
} |
- if (i == 2) |
+ if (plcount == 2){ |
pciada->pvPhysIfr = pPartialDescriptor->u.Memory.Start; |
- |
- KdPrint(("Memory : 0x%p\n", (PUCHAR)pPartialDescriptor->u.Memory.Start.LowPart)); |
+ KdPrint(("PCIVMEExtractResources() IFR=0x%p \n", pciada->pvPhysIfr)); |
+ } |
+ KdPrint(("[%d] AllocatedResources Memory : 0x%p\n", plcount, (PUCHAR)pPartialDescriptor->u.Memory.Start.LowPart)); |
break; |
} |
+ if (pPartialDescriptor->Type < 8) plcount++; |
} |
+ KdPrint(("PCIVMEExtractResources() LCR=0x%p IFR=0x%p \n", pciada->pvPhysLcr, pciada->pvPhysIfr)); |
+ |
+ if (stack->Parameters.StartDevice.AllocatedResourcesTranslated) |
+ pListTranslated = &stack->Parameters.StartDevice.AllocatedResourcesTranslated->List[0].PartialResourceList; |
+ KdPrint(("Translated Resources:------------------\n")); |
+ ShowResources(pListTranslated); |
+ plcount = 0; |
+ bug = 0; |
+ for (i = 0; i<(int)pPartialList->Count; i++) |
+ { |
+ pPartialDescriptor = &pListTranslated->PartialDescriptors[i]; |
+ |
+ switch (pPartialDescriptor->Type) |
+ { |
+ case CmResourceTypeInterrupt: |
+ pciada->Irql = (KIRQL)pPartialDescriptor->u.Interrupt.Level; |
+ pciada->Vector = pPartialDescriptor->u.Interrupt.Vector; |
+ pciada->Affinity = pPartialDescriptor->u.Interrupt.Affinity; |
+ |
+ KdPrint(("AllocatedResourcesTranslated Irq : Irql: %d, Vector: %d, Affinity: %d\n", |
+ pciada->Irql, pciada->Vector, pciada->Affinity)); |
+ break; |
+ case CmResourceTypeDma: |
+ KdPrint(("AllocatedResourcesTranslated Dma : \n")); |
+ break; |
+ case CmResourceTypePort: |
+ |
+ KdPrint(("AllocatedResourcesTranslated Port : 0x%p\n", pPartialDescriptor->u.Port.Start)); |
+ break; |
+ case CmResourceTypeMemory: |
+ // special handling of PLXBUG here because of WIN2000 |
+ // WIN2000 doesn't recognize late address changes |
+ if (!bug) |
+ { |
+ if (plcount == 0) |
+ { |
+ pciada->pvPhysLcr = pPartialDescriptor->u.Memory.Start; |
+ KdPrint(("0 PCIVMEExtractResources() LCR=0x%p \n", pciada->pvPhysLcr)); |
+ if (pciada->pvPhysLcr.LowPart & 0x80) { |
+ bug = 1; |
+ KdPrint(("AllocatedResourcesTranslated PLXBug\n")); |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (plcount == 3){ |
+ pciada->pvPhysLcr = pPartialDescriptor->u.Memory.Start; |
+ KdPrint(("3 PCIVMEExtractResources() LCR=0x%p \n", pciada->pvPhysLcr)); |
+ } |
+ } |
+ |
+ if (plcount == 2){ |
+ pciada->pvPhysIfr = pPartialDescriptor->u.Memory.Start; |
+ KdPrint(("2 PCIVMEExtractResources() IFR=0x%p \n", pciada->pvPhysIfr)); |
+ } |
+ |
+ KdPrint(("[%d] AllocatedResourcesTranslated Memory : 0x%p\n", plcount, (PUCHAR)pPartialDescriptor->u.Memory.Start.LowPart)); |
+ break; |
+ } |
+ if (pPartialDescriptor->Type < 8) plcount++; |
+ } |
+ |
+ |
+ |
if (pciada->Irql == 0) |
return STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT; |
- KdPrint(("PCIVMEExtractResources() OK.\n")); |
+ KdPrint(("PCIVMEExtractResources() Translated LCR=0x%p IFR=0x%p \n", pciada->pvPhysLcr, pciada->pvPhysIfr)); |
return STATUS_SUCCESS; |
} |
-NTSTATUS PCIVMEReserveResources(PDEVICE_OBJECT device_Obj) |
+NTSTATUS PCIVMEReserveResources(PDEVICE_OBJECT device_Obj, PIRP irp) |
{ |
- PCM_RESOURCE_LIST pList = NULL; |
+ //PCM_RESOURCE_LIST pList = NULL; |
NTSTATUS result = STATUS_SUCCESS; |
int i; |
DEVICE_EXT *pDevExt = (DEVICE_EXT*)(device_Obj->DeviceExtension); |
@@ -788,27 +935,32 @@ |
KdPrint(("PCIVMEReserveResources()\n")); |
// prepare resource claiming |
- RtlInitUnicodeString(&DriverClassName, L"PCICC32"); |
- |
+ //RtlInitUnicodeString(&DriverClassName, L"PCICC32"); |
+ RtlInitUnicodeString(&DriverClassName, L"PCIVME"); |
// cycle through all busses and slots assigned to PCIADAs |
for (i = 0; i < nPCIADAs; i++) |
{ |
pciada = &pDevExt->pciada[i]; |
- result = HalAssignSlotResources(NULL, &DriverClassName, device_Obj->DriverObject, device_Obj, |
- PCIBus, pciada->Bus, pciada->Slot.u.AsULONG, &pList); |
- |
- if (result != STATUS_SUCCESS) |
+ //result = HalAssignSlotResources(NULL, &DriverClassName, device_Obj->DriverObject, device_Obj, |
+ // PCIBus, pciada->Bus, pciada->Slot.u.AsULONG, &pList); |
+ /* |
+ result = IoReportDetectedDevice(device_Obj->DriverObject, PCIBus, pciada->Bus, pciada->Slot.u.AsULONG, pList, NULL, FALSE, &device_Obj); |
+ if (result != STATUS_SUCCESS){ |
+ KdPrint(("PCIVMEReserveResources(0x%08x) HalAssignSlotResources ***ERROR*** faliure to get slot information\n", result)); |
break; |
+ } |
+ */ |
+ result = PCIVMEExtractResources(pciada, irp); |
- result = PCIVMEExtractResources(pciada, pList); |
- |
- if (result != STATUS_SUCCESS) |
+ if (result != STATUS_SUCCESS){ |
+ KdPrint(("PCIVMEReserveResources(0x%08x) PCIVMEExtractResources\n", result)); |
break; |
+ } |
} |
// its my part to free allocated resources |
- if (pList != NULL) ExFreePoolWithTag(pList,'nepo'); |
+ //if (pList != NULL) ExFreePoolWithTag(pList,'nepo'); |
KdPrint(("PCIVMEReserveResources(0x%08x)\n", result)); |
@@ -841,7 +993,7 @@ |
//------------------------------------------------------------------------ |
// translate memory resources to neutral for PCIADAs |
// |
-NTSTATUS PCIVMETranslateBusAddresses(PDEVICE_OBJECT device_Obj) |
+NTSTATUS PCIVMETranslateBusAddresses(PDEVICE_OBJECT device_Obj, PIRP irp) |
{ |
int i; |
NTSTATUS result = STATUS_SUCCESS; |
@@ -848,14 +1000,18 @@ |
int nPCIADAs = ((DEVICE_EXT*)(device_Obj->DeviceExtension))->nPCIADAs; |
ULONG memType0, memType2; |
PCIADA *pciada; |
+ PCM_PARTIAL_RESOURCE_LIST pPartialList = NULL; |
+ PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(irp); |
+ if (stack->Parameters.StartDevice.AllocatedResourcesTranslated) |
+ pPartialList = &stack->Parameters.StartDevice.AllocatedResourcesTranslated->List[0].PartialResourceList; |
- KdPrint(("TranslateBusAddresseses()\n")); |
+ |
for (i = 0; i < nPCIADAs; i++) |
{ |
pciada = &((DEVICE_EXT*)(device_Obj->DeviceExtension))->pciada[i]; |
memType0 = memType2 = 0; |
- |
+ /* |
if (!(HalTranslateBusAddress(PCIBus, pciada->Bus, pciada->pvPhysLcr, &memType0, |
&pciada->pvPhysLcr)) || |
!(HalTranslateBusAddress(PCIBus, pciada->Bus, pciada->pvPhysIfr, &memType2, |
@@ -864,6 +1020,8 @@ |
result = STATUS_UNSUCCESSFUL; |
break; |
} |
+ */ |
+ KdPrint(("PCIADA %d TranslateBusAddresseses() -- no translation is made\n", i)); |
if ((memType0) || (memType2)) |
{ |
@@ -871,6 +1029,7 @@ |
break; |
} |
} |
+ |
return result; |
} |
@@ -983,124 +1142,182 @@ |
((DEVICE_EXT*)(device_Obj->DeviceExtension))->vmemm[i] = NULL; |
} |
-//------------------------------------------------------------------------ |
-// the ultimate starting point of a driver |
-NTSTATUS DriverEntry(PDRIVER_OBJECT driverObj, PUNICODE_STRING regPath ) |
+NTSTATUS OnRequestComplete(PDEVICE_OBJECT fdo, PIRP Irp, PKEVENT pev) |
{ |
- UNREFERENCED_PARAMETER(regPath); |
- PDEVICE_OBJECT device_object; // pointer to the device object |
- UNICODE_STRING device_name; |
- UNICODE_STRING symbol_name; |
- NTSTATUS result = STATUS_SUCCESS; |
- int nPCIADAs; // count of PCIADAs |
- DEVICE_EXT *DeviceExtension = NULL; |
+ UNREFERENCED_PARAMETER(fdo); |
+ UNREFERENCED_PARAMETER(Irp); |
+ KeSetEvent(pev, 0, FALSE); |
+ return STATUS_MORE_PROCESSING_REQUIRED; |
+} |
- KdPrint(("DriverEntry() ---%d.%d---------------------------------\n", (DRIVER_VERSION >> 16) & 0xff, DRIVER_VERSION & 0xff)); |
+NTSTATUS CompleteRequest(PIRP Irp, NTSTATUS status, ULONG_PTR Information) |
+{ |
+ Irp->IoStatus.Status = status; |
+ Irp->IoStatus.Information = Information; |
+ IoCompleteRequest(Irp, IO_NO_INCREMENT); |
+ return status; |
+} |
+NTSTATUS ForwardAndWait(PDEVICE_OBJECT fdo, PIRP Irp) |
+{ |
+ KEVENT event; |
+ KeInitializeEvent(&event, NotificationEvent, FALSE); |
+ IoCopyCurrentIrpStackLocationToNext(Irp); |
+ IoSetCompletionRoutine(Irp, (PIO_COMPLETION_ROUTINE) OnRequestComplete, (PVOID)&event, TRUE, TRUE, TRUE); |
+ PDEVICE_EXT pdx = (PDEVICE_EXT ) fdo->DeviceExtension; |
+ IoCallDriver(pdx->LowerDeviceObject, Irp); |
+ KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL); |
+ return Irp->IoStatus.Status; |
+} |
- driverObj->DriverUnload = PCIVMEUnload; |
- driverObj->MajorFunction[IRP_MJ_CREATE] = PCIVMEOpen; |
- driverObj->MajorFunction[IRP_MJ_CLOSE] = PCIVMEClose; |
- driverObj->MajorFunction[IRP_MJ_READ] = PCIVMERead; |
- driverObj->MajorFunction[IRP_MJ_WRITE] = PCIVMEWrite; |
- driverObj->MajorFunction[IRP_MJ_DEVICE_CONTROL] = PCIVMEDeviceControl; |
-#ifdef DO_CLEANUP |
- driverObj->MajorFunction[IRP_MJ_CLEANUP] = PCIVMECancel; |
-#endif |
- driverObj->MajorFunction[IRP_MJ_SHUTDOWN] = PCIVMEShutdown; |
+NTSTATUS HandleStartDevice(PDEVICE_OBJECT fdo, PIRP Irp) |
+{ |
+ PIO_STACK_LOCATION stack; |
+ Irp->IoStatus.Status = STATUS_SUCCESS; |
+ NTSTATUS status = ForwardAndWait(fdo, Irp); |
+ if (!NT_SUCCESS(status)) |
+ return CompleteRequest(Irp, status, Irp->IoStatus.Information); |
+ |
+ stack = IoGetCurrentIrpStackLocation(Irp); |
+ status = PCIVMEStartDevice(fdo, Irp); |
+ return CompleteRequest(Irp, status, Irp->IoStatus.Information); |
+} |
- RtlInitUnicodeString(&device_name, L"\\Device\\PCIVME"); |
- /* DeviceObject durch IO-Manager erzeugen */ |
- result = IoCreateDevice( driverObj, // DriverObject received by the DriverEntry Call |
- sizeof(DEVICE_EXT), // required Memory for the DeviceExtension |
- &device_name, // Name of the device in the device-Directory |
- FILE_DEVICE_UNKNOWN, // Device-ID |
- 0, // Device-Characteristics normal 0 |
- FALSE, // TRUE : one Thread can open the driver |
- &device_object); // DeviceObject returned from the IO-Manager |
+NTSTATUS DefaultPnpHandler(PDEVICE_OBJECT fdo, PIRP Irp) |
+{ |
+ IoSkipCurrentIrpStackLocation(Irp); |
+ PDEVICE_EXT pdx = (PDEVICE_EXT )fdo->DeviceExtension; |
+ return IoCallDriver(pdx->LowerDeviceObject, Irp); |
+} |
- // defines how the data are handled between user / kernel Adress-Space |
- device_object->Flags |= DO_DIRECT_IO; |
+NTSTATUS HandleStopDevice(PDEVICE_OBJECT fdo, PIRP Irp) |
+{ |
+ IoSkipCurrentIrpStackLocation(Irp); |
+ UNICODE_STRING symbol_name; |
+ RtlInitUnicodeString(&symbol_name, DOS_DEVICE_NAME); |
+ // delete the symbolicLink in the registry |
+ IoDeleteSymbolicLink(&symbol_name); |
+ DEVICE_EXT *ext = (DEVICE_EXT*)(fdo->DeviceExtension); |
+ // delete the deviceObject |
+ if (ext->LowerDeviceObject) IoDetachDevice(ext->LowerDeviceObject); |
+ IoDeleteDevice(fdo); |
+ KdPrint(("HandleStopDevice (OK)\n")); |
+ return STATUS_SUCCESS; |
+} |
-#if 0 |
- // register the shutdown notification entry |
- IoRegisterShutdownNotification(device_object); |
-#endif |
- // anounce driver as symbolic device --------------------------------- |
- if (result == STATUS_SUCCESS) |
- { |
- /* now the symbolic Link is created. If there is no S.L. a program cannot connect to the driver */ |
- RtlInitUnicodeString(&symbol_name, DOS_DEVICE_NAME); |
- result = IoCreateSymbolicLink(&symbol_name,&device_name); |
- if (result != STATUS_SUCCESS) |
- { |
- IoDeleteDevice(device_object); |
- return result; |
- } |
- } |
+NTSTATUS PCIVMEDispatchPnp(PDEVICE_OBJECT fdo, PIRP Irp) |
+{ |
+ PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp); |
+ ULONG fcn = stack->MinorFunction; |
+ static char* pnpname[] = { |
+ "IRP_MN_START_DEVICE", |
+ "IRP_MN_QUERY_REMOVE_DEVICE", |
+ "IRP_MN_REMOVE_DEVICE", |
+ "IRP_MN_CANCEL_REMOVE_DEVICE", |
+ "IRP_MN_STOP_DEVICE", |
+ "IRP_MN_QUERY_STOP_DEVICE", |
+ "IRP_MN_CANCEL_STOP_DEVICE", |
+ "IRP_MN_QUERY_DEVICE_RELATIONS", |
+ "IRP_MN_QUERY_INTERFACE", |
+ "IRP_MN_QUERY_CAPABILITIES", |
+ "IRP_MN_QUERY_RESOURCES", |
+ "IRP_MN_QUERY_RESOURCE_REQUIREMENTS", |
+ "IRP_MN_QUERY_DEVICE_TEXT", |
+ "IRP_MN_FILTER_RESOURCE_REQUIREMENTS", |
+ "", |
+ "IRP_MN_READ_CONFIG", |
+ "IRP_MN_WRITE_CONFIG", |
+ "IRP_MN_EJECT", |
+ "IRP_MN_SET_LOCK", |
+ "IRP_MN_QUERY_ID", |
+ "IRP_MN_QUERY_PNP_DEVICE_STATE", |
+ "IRP_MN_QUERY_BUS_INFORMATION", |
+ "IRP_MN_DEVICE_USAGE_NOTIFICATION", |
+ "IRP_MN_SURPRISE_REMOVAL", |
+ "IRP_MN_QUERY_LEGACY_BUS_INFORMATION", |
+ }; |
+ |
+ if (fcn < arraysize(pnpname)) |
+ KdPrint(("PCIVMEDispatchPnp - IRP_MJ_PNP (%s)\n", pnpname[fcn])); |
else |
- return result; |
+ KdPrint(( "PCIVMEDispatchPnp - IRP_MJ_PNP (%2.2X)\n", fcn)); |
- DeviceExtension = (DEVICE_EXT*)device_object->DeviceExtension; |
+ static NTSTATUS(*fcntab[])(PDEVICE_OBJECT, PIRP) = { |
+ HandleStartDevice, // IRP_MN_START_DEVICE |
+ HandleStopDevice // IRP_MN_QUERY_REMOVE_DEVICE |
+ }; |
- DeviceExtension->actualIrp = NULL; |
- DeviceExtension->driverObj = driverObj; |
- DeviceExtension->nInitState = 0; |
+ if (fcn >= arraysize(fcntab)) |
+ return DefaultPnpHandler(fdo, Irp); |
+ return (*fcntab[fcn])(fdo, Irp); |
+} |
+ |
+NTSTATUS PCIVMEStartDevice(PDEVICE_OBJECT device_object, PIRP irp){ |
+ NTSTATUS result = STATUS_SUCCESS; |
+ int nPCIADAs; // count of PCIADAs |
+ DEVICE_EXT *DeviceExtension = NULL; |
+ DeviceExtension = (DEVICE_EXT*)device_object->DeviceExtension; |
// init pciada structures ------------------------------------ |
PCIVMESoftInit(device_object); |
// search for PCIADAs ---------------------------------------- |
- result = SearchDevices(device_object); |
+ result = SearchDevices(device_object); |
nPCIADAs = DeviceExtension->nPCIADAs; |
if ((result != STATUS_SUCCESS) || !(nPCIADAs)) |
{ |
- PCIVMEUnload(driverObj); |
+ KdPrint(("PCIVMEStartDevice Device not found\n")); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
- } |
+ } |
// request exclusive ownership of .. --------------------------------- |
- if ((result = PCIVMEReserveResources(device_object)) != STATUS_SUCCESS) |
+ if ((result = PCIVMEReserveResources(device_object, irp)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ KdPrint(("PCIVMEStartDevice Resource not reserved PCIVMEReserveResources \n")); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return result; |
- } |
+ } |
else |
DeviceExtension->nInitState++; |
// fix PLX9050 Bug ------------------------------------------- |
if ((result = PLX9050BugFix(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ KdPrint(("PCIVMEStartDevice PLX9050BugFix\n")); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return result; |
} |
- |
+ DeviceExtension->nInitState += 2; |
+ /* |
// translate BUS relative addresses ---------------------------------- |
- if ((result = PCIVMETranslateBusAddresses(device_object)) != STATUS_SUCCESS) |
+ if ((result = PCIVMETranslateBusAddresses(device_object,irp)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
- } |
+ } |
else |
DeviceExtension->nInitState++; |
+ |
// translate Interrupt Resources used -------------------------------- |
if ((result = PCIVMETranslateInterrupts(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
} |
else |
DeviceExtension->nInitState++; |
- |
+ */ |
+ |
// map address spaces to virtual addresses --------------------------- |
if ((result = PCIVMEMapIOspace(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
- } |
+ } |
else |
DeviceExtension->nInitState++; |
@@ -1107,18 +1324,18 @@ |
// initialze my custom DPC objects ----------------------------------- |
if ((result = InitializeCustomDPCObjects(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return result; |
- } |
+ } |
else |
DeviceExtension->nInitState++; |
- |
+ |
// initialze the queue for IRPs waiting for vectors ------------------ |
if ((result = InitializeIRPQueue(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return result; |
- } |
+ } |
else |
DeviceExtension->nInitState++; |
@@ -1125,7 +1342,7 @@ |
// connect interrupts to service routines ---------------------------- |
if ((result = PCIVMEConnectInterrupt(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
} |
else |
@@ -1134,14 +1351,91 @@ |
// scan all connected VMEMM for info and later use ------------------- |
if ((result = PCIVMEScanVMEMM(device_object)) != STATUS_SUCCESS) |
{ |
- PCIVMEUnload(driverObj); |
+ PCIVMEUnload(DeviceExtension->driverObj); |
return STATUS_DEVICE_DOES_NOT_EXIST; |
- } |
+ } |
device_object->Flags &= ~DO_DEVICE_INITIALIZING; |
+ return result; |
+} |
- KdPrint(("DriverEntry() OK.\n")); |
+NTSTATUS PCIVMEAddDevice(PDRIVER_OBJECT driverObj, PDEVICE_OBJECT pdo) |
+ { // AddDevice |
+ |
+ UNICODE_STRING device_name; |
+ UNICODE_STRING symbol_name; |
+ NTSTATUS result = STATUS_SUCCESS; |
+ //int nPCIADAs; // count of PCIADAs |
+ DEVICE_EXT *DeviceExtension = NULL; |
+ PDEVICE_OBJECT device_object; |
+ RtlInitUnicodeString(&device_name, L"\\Device\\PCIVME"); |
+ KdPrint(("PCIVME AddDevice() v%d.%d\n", (DRIVER_VERSION >> 16) & 0xff, DRIVER_VERSION & 0xff)); |
+ /* DeviceObject durch IO-Manager erzeugen */ |
+ result = IoCreateDevice( driverObj, // DriverObject received by the DriverEntry Call |
+ sizeof(DEVICE_EXT), // required Memory for the DeviceExtension |
+ &device_name, // Name of the device in the device-Directory |
+ FILE_DEVICE_UNKNOWN, // Device-ID |
+ 0, // Device-Characteristics normal 0 |
+ FALSE, // TRUE : one Thread can open the driver |
+ &device_object); // DeviceObject returned from the IO-Manager |
+ // defines how the data are handled between user / kernel Adress-Space |
+ device_object->Flags |= DO_DIRECT_IO; |
+ |
+#if 0 |
+ // register the shutdown notification entry |
+ IoRegisterShutdownNotification(device_object); |
+#endif |
+ |
+ // anounce driver as symbolic device --------------------------------- |
+ if (result == STATUS_SUCCESS) |
+ { |
+ /* now the symbolic Link is created. If there is no S.L. a program cannot connect to the driver */ |
+ RtlInitUnicodeString(&symbol_name, DOS_DEVICE_NAME); |
+ result = IoCreateSymbolicLink(&symbol_name,&device_name); |
+ if (result != STATUS_SUCCESS) |
+ { |
+ |
+ IoDeleteDevice(device_object); |
+ return result; |
+ } |
+ } |
+ else |
+ return result; |
+ |
+ |
+ DeviceExtension = (DEVICE_EXT*)device_object->DeviceExtension; |
+ |
+ DeviceExtension->actualIrp = NULL; |
+ DeviceExtension->driverObj = driverObj; |
+ DeviceExtension->nInitState = 0; |
+ |
+ |
+ DeviceExtension->LowerDeviceObject = IoAttachDeviceToDeviceStack(device_object, pdo); |
+ KdPrint(("AddDevice() OK.\n")); |
+ |
return result; |
} |
+//------------------------------------------------------------------------ |
+// the ultimate starting point of a driver |
+NTSTATUS DriverEntry(PDRIVER_OBJECT driverObj, PUNICODE_STRING regPath) |
+{ |
+ UNREFERENCED_PARAMETER(regPath); |
+ |
+ KdPrint(("PCIVME DriverEntry() v%d.%d\n", (DRIVER_VERSION >> 16) & 0xff, DRIVER_VERSION & 0xff)); |
+ |
+ driverObj->DriverUnload = PCIVMEUnload; |
+ driverObj->DriverExtension->AddDevice = PCIVMEAddDevice; |
+ driverObj->MajorFunction[IRP_MJ_CREATE] = PCIVMEOpen; |
+ driverObj->MajorFunction[IRP_MJ_CLOSE] = PCIVMEClose; |
+ driverObj->MajorFunction[IRP_MJ_READ] = PCIVMERead; |
+ driverObj->MajorFunction[IRP_MJ_WRITE] = PCIVMEWrite; |
+ driverObj->MajorFunction[IRP_MJ_DEVICE_CONTROL] = PCIVMEDeviceControl; |
+#ifdef DO_CLEANUP |
+ driverObj->MajorFunction[IRP_MJ_CLEANUP] = PCIVMECancel; |
+#endif |
+ driverObj->MajorFunction[IRP_MJ_SHUTDOWN] = PCIVMEShutdown; |
+ driverObj->MajorFunction[IRP_MJ_PNP] = PCIVMEDispatchPnp; |
+ return STATUS_SUCCESS;; |
+} |
\ No newline at end of file |
/wiener_pcivme/pcivme/SOURCE/pcivme_drv.h |
---|
155,6 → 155,7 |
typedef struct _DEVICE_EXT |
{ |
PDEVICE_OBJECT DeviceObject; // points to myself |
PDEVICE_OBJECT LowerDeviceObject; |
PDRIVER_OBJECT driverObj; // points to my driver */ |
PIRP actualIrp; // points to .. |
168,7 → 169,7 |
PCIADA *vmemm[PCIVME_MAX_VMEMM]; // points to PCIADA to which it belongs |
int nInitState; // tracks the state of initialisation |
} DEVICE_EXT; |
} DEVICE_EXT, *PDEVICE_EXT; |
typedef struct |
{ |
179,15 → 180,21 |
// Prototypes to support following pragmas |
NTSTATUS DriverEntry(PDRIVER_OBJECT driverObj, PUNICODE_STRING regPath); |
NTSTATUS HandleStartDevice(PDEVICE_OBJECT fdo, PIRP Irp); |
NTSTATUS HandleStopDevice(PDEVICE_OBJECT fdo, PIRP Irp); |
NTSTATUS DefaultPnpHandler(PDEVICE_OBJECT fdo, PIRP Irp); |
NTSTATUS PCIVMEStartDevice(PDEVICE_OBJECT device_object, PIRP irp); |
NTSTATUS PCIVMEAddDevice( PDRIVER_OBJECT driverObj, PDEVICE_OBJECT pdo); |
NTSTATUS PCIVMEDispatchPnp(PDEVICE_OBJECT deviceObj, PIRP irp); |
NTSTATUS PCIVMEOpen(PDEVICE_OBJECT deviceObj, PIRP irp); |
NTSTATUS PCIVMEClose(PDEVICE_OBJECT deviceObj, PIRP irp); |
VOID PCIVMEUnload(PDRIVER_OBJECT driverObj); |
NTSTATUS SearchDevices(PDEVICE_OBJECT device_Obj); |
NTSTATUS PLX9050BugFix(PDEVICE_OBJECT device_Obj); |
NTSTATUS PCIVMEExtractResources(PCIADA *pciada, PCM_RESOURCE_LIST pList); |
NTSTATUS PCIVMEReserveResources(PDEVICE_OBJECT device_Obj); |
NTSTATUS PCIVMEExtractResources(PCIADA *pciada, PIRP irp); |
NTSTATUS PCIVMEReserveResources(PDEVICE_OBJECT device_Obj, PIRP irp); |
NTSTATUS PCIVMEFreeResources(PDEVICE_OBJECT device_Obj); |
NTSTATUS PCIVMETranslateBusAddresses(PDEVICE_OBJECT device_Obj); |
NTSTATUS PCIVMETranslateBusAddresses(PDEVICE_OBJECT device_Obj, PIRP irp); |
NTSTATUS PCIVMETranslateInterrupt(PDEVICE_OBJECT device_Obj); |
NTSTATUS PCIVMEMapIOspace(PDEVICE_OBJECT device_object); |
VOID PCIVMESoftInit(PDEVICE_OBJECT device_Obj); |
197,22 → 204,28 |
#if 0 // WIN2000 change versus WINNT? |
#ifdef ALLOC_PRAGMA |
#pragma alloc_text (init, DriverEntry) |
#pragma alloc_text (init, SearchDevices) |
#pragma alloc_text (init, PLX9050BugFix) |
#pragma alloc_text (init, PCIVMEExtractResources) |
#pragma alloc_text (init, PCIVMEReserveResources) |
#pragma alloc_text (init, PCIVMETranslateBusAddresses) |
#pragma alloc_text (init, PCIVMETranslateInterrupt) |
#pragma alloc_text (init, PCIVMEMapIOspace) |
#pragma alloc_text (init, PCIVMESoftInit) |
#pragma alloc_text (page, PCIVMEStartDevice) |
#pragma alloc_text (page, PCIVMEAddDevice) |
#pragma alloc_text (page, SearchDevices) |
#pragma alloc_text (page, PLX9050BugFix) |
#pragma alloc_text (page, PCIVMEExtractResources) |
#pragma alloc_text (page, PCIVMEReserveResources) |
#pragma alloc_text (page, PCIVMETranslateBusAddresses) |
#pragma alloc_text (page, PCIVMETranslateInterrupt) |
#pragma alloc_text (page, PCIVMEMapIOspace) |
#pragma alloc_text (page, PCIVMESoftInit) |
#endif |
/* put all this procedures in the paged memory-pool, all called at passiv Level */ |
#ifdef ALLOC_PRAGMA |
#pragma alloc_text (page, HandleStartDevice) |
#pragma alloc_text (page, HandleStopDevice) |
#pragma alloc_text (page, PCIVMEOpen) |
#pragma alloc_text (page, PCIVMEClose) |
#pragma alloc_text (page, PCIVMEUnload) |
#pragma alloc_text (page, PCIVMEFreeResources) |
#pragma alloc_text (page, PCIVMEDispatchPnp) |
#pragma alloc_text (page, DefaultPnpHandler) |
#endif |
#endif // WIN2000 change versus WINNT? |
/wiener_pcivme/pcivme/SOURCE/pcivme_i.c |
---|
204,6 → 204,7 |
PCIADA *pciada = (PCIADA *) NULL; |
KdPrint(("TranslateInterrupt()\n")); |
if (nPCIADAs) return STATUS_SUCCESS; |
for (i = 0; i < nPCIADAs; i++) |
{ |
/wiener_pcivme/pcivme/Win8.1Release/pcivme.log |
---|
1,25 → 1,20 |
Build started 10.2.2014 10:11:41. |
1>Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme\pcivme.vcxproj" on node 2 (Rebuild target(s)). |
Build started 15.4.2014 9:30:23. |
1>Project "C:\home\rok\wiener_pcivme_new\pcivme\pcivme.vcxproj" on node 2 (Build target(s)). |
1>StampInf: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\stampinf.exe -d "*" -a "x86" -v "*" -k "1.11" -u "1.11.0" -f Win8.1Release\pcivme.inf |
Stamping Win8.1Release\pcivme.inf [Version] section with DriverVer=02/10/2014,10.11.41.893 |
C:\Program Files\Windows Kits\8.1\bin\x86\stampinf.exe -d "*" -a "x86" -v "*" -k "1.11" -u "1.11.0" -f Win8.1Release\pcivme.inf |
Stamping Win8.1Release\pcivme.inf [Version] section with DriverVer=04/15/2014,9.30.23.303 |
ClCompile: |
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /IWin8.1Release\ /Zi /nologo /W4 /WX /Ox /Os /Oy- /D _X86_=1 /D i386=1 /D STD_CALL /D _WIN32_WINNT=0x0603 /D WINVER=0x0603 /D WINNT=1 /D NTDDI_VERSION=0x06030000 /D KMDF_VERSION_MAJOR=1 /D KMDF_VERSION_MINOR=11 /GF /Gm- /Zp8 /GS /Gy /fp:precise /Zc:wchar_t- /Zc:forScope- /GR- /Fo"Win8.1Release\\" /Fd"Win8.1Release\vc120.pdb" /Gz /wd4603 /wd4627 /wd4986 /wd4987 /wd4996 /FI"C:\Program Files (x86)\Windows Kits\8.1\Include\Shared\warning.h" /analyze- /errorReport:prompt /kernel -cbstring /d1nodatetime /d1import_no_registry /d2AllowCompatibleILVersions /d2Zi+ SOURCE\pcivme_drv.c SOURCE\pcivme_fifo.c SOURCE\pcivme_i.c SOURCE\pcivme_io.c SOURCE\pcivme_v.c |
C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /IWin8.1Release\ /Zi /nologo /W4 /WX /Ox /Os /Oy- /D _X86_=1 /D i386=1 /D STD_CALL /D _WIN32_WINNT=0x0603 /D WINVER=0x0603 /D WINNT=1 /D NTDDI_VERSION=0x06030000 /D KMDF_VERSION_MAJOR=1 /D KMDF_VERSION_MINOR=11 /GF /Gm- /Zp8 /GS /Gy /fp:precise /Zc:wchar_t- /Zc:forScope- /GR- /Fo"Win8.1Release\\" /Fd"Win8.1Release\vc120.pdb" /Gz /wd4603 /wd4627 /wd4986 /wd4987 /wd4996 /FI"C:\Program Files\Windows Kits\8.1\Include\Shared\warning.h" /analyze- /errorReport:prompt /kernel -cbstring /d1nodatetime /d1import_no_registry /d2AllowCompatibleILVersions /d2Zi+ SOURCE\pcivme_drv.c |
pcivme_drv.c |
pcivme_fifo.c |
pcivme_i.c |
pcivme_io.c |
pcivme_v.c |
Generating Code... |
Link: |
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme.sys" /VERSION:"6.3" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\BufferOverflowFastFailK.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\ntoskrnl.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\hal.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\wmilib.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfLdr.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfDriverEntry.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme.pdb" /SUBSYSTEM:NATIVE,"6.03" /Driver /OPT:REF /OPT:ICF /ENTRY:"FxDriverEntry@8" /RELEASE /IMPLIB:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X86 /PROFILE /SAFESEH /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 /osversion:6.3 /pdbcompress /debugtype:pdata Win8.1Release\pcivme_drv.obj |
C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme.sys" /VERSION:"6.3" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\BufferOverflowFastFailK.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\ntoskrnl.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\hal.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\wmilib.lib" "C:\Program Files\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfLdr.lib" "C:\Program Files\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfDriverEntry.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme.pdb" /SUBSYSTEM:NATIVE,"6.03" /Driver /OPT:REF /OPT:ICF /ENTRY:"FxDriverEntry@8" /RELEASE /IMPLIB:"C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X86 /PROFILE /SAFESEH /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 /osversion:6.3 /pdbcompress /debugtype:pdata Win8.1Release\pcivme_drv.obj |
Win8.1Release\pcivme_fifo.obj |
Win8.1Release\pcivme_i.obj |
Win8.1Release\pcivme_io.obj |
Win8.1Release\pcivme_v.obj |
pcivme.vcxproj -> C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Release\pcivme.sys |
1>Done Building Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme\pcivme.vcxproj" (Rebuild target(s)). |
pcivme.vcxproj -> C:\home\rok\wiener_pcivme_new\Win8.1Release\pcivme.sys |
1>Done Building Project "C:\home\rok\wiener_pcivme_new\pcivme\pcivme.vcxproj" (Build target(s)). |
Build succeeded. |
Time Elapsed 00:00:01.23 |
Time Elapsed 00:00:00.82 |
/wiener_pcivme/pcivme/pcivme.vcxproj.user |
---|
1,4 → 1,6 |
<?xml version="1.0" encoding="utf-8"?> |
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
<PropertyGroup /> |
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win8.1 Debug|Win32'"> |
<SignMode>Off</SignMode> |
</PropertyGroup> |
</Project> |
/wiener_pcivme/pcivme/Win8.1Debug/pcivme.log |
---|
1,30 → 1,20 |
Build started 10.2.2014 10:11:42. |
1>Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme\pcivme.vcxproj" on node 2 (Rebuild target(s)). |
Build started 14.4.2014 14:20:40. |
1>Project "C:\home\rok\wiener_pcivme_new\pcivme\pcivme.vcxproj" on node 2 (Build target(s)). |
1>StampInf: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\stampinf.exe -d "*" -a "x86" -v "*" -k "1.11" -u "1.11.0" -f Win8.1Debug\pcivme.inf |
Stamping Win8.1Debug\pcivme.inf [Version] section with DriverVer=02/10/2014,10.11.43.5 |
C:\Program Files\Windows Kits\8.1\bin\x86\stampinf.exe -d "*" -a "x86" -v "*" -k "1.11" -u "1.11.0" -f Win8.1Debug\pcivme.inf |
Stamping Win8.1Debug\pcivme.inf [Version] section with DriverVer=04/14/2014,14.20.40.814 |
ClCompile: |
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /IWin8.1Debug\ /Zi /nologo /W4 /WX /Od /Oi /Oy- /D _X86_=1 /D i386=1 /D STD_CALL /D DEPRECATE_DDK_FUNCTIONS=1 /D MSC_NOOPT /D _WIN32_WINNT=0x0603 /D WINVER=0x0603 /D WINNT=1 /D NTDDI_VERSION=0x06030000 /D DBG=1 /D KMDF_VERSION_MAJOR=1 /D KMDF_VERSION_MINOR=11 /GF /Gm- /Zp8 /GS /Gy /fp:precise /Zc:wchar_t- /Zc:forScope- /GR- /Fo"Win8.1Debug\\" /Fd"Win8.1Debug\vc120.pdb" /Gz /wd4748 /wd4603 /wd4627 /wd4986 /wd4987 /wd4996 /FI"C:\Program Files (x86)\Windows Kits\8.1\Include\Shared\warning.h" /analyze- /errorReport:prompt /kernel -cbstring /d1import_no_registry /d2AllowCompatibleILVersions /d2Zi+ SOURCE\pcivme_drv.c SOURCE\pcivme_fifo.c SOURCE\pcivme_i.c SOURCE\pcivme_io.c SOURCE\pcivme_v.c |
C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /IWin8.1Debug\ /Zi /nologo /W4 /WX /Od /Oi /Oy- /D _X86_=1 /D i386=1 /D STD_CALL /D DEPRECATE_DDK_FUNCTIONS=1 /D MSC_NOOPT /D _WIN32_WINNT=0x0603 /D WINVER=0x0603 /D WINNT=1 /D NTDDI_VERSION=0x06030000 /D DBG=1 /D KMDF_VERSION_MAJOR=1 /D KMDF_VERSION_MINOR=11 /GF /Gm- /Zp8 /GS /Gy /fp:precise /Zc:wchar_t- /Zc:forScope- /GR- /Fo"Win8.1Debug\\" /Fd"Win8.1Debug\vc120.pdb" /Gz /wd4748 /wd4603 /wd4627 /wd4986 /wd4987 /wd4996 /FI"C:\Program Files\Windows Kits\8.1\Include\Shared\warning.h" /analyze- /errorReport:prompt /kernel -cbstring /d1import_no_registry /d2AllowCompatibleILVersions /d2Zi+ SOURCE\pcivme_drv.c |
pcivme_drv.c |
pcivme_fifo.c |
pcivme_i.c |
pcivme_io.c |
pcivme_v.c |
Generating Code... |
Link: |
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme.sys" /VERSION:"6.3" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\BufferOverflowFastFailK.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\ntoskrnl.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\hal.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\winV6.3\KM\x86\wmilib.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfLdr.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfDriverEntry.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme.pdb" /SUBSYSTEM:NATIVE,"6.03" /Driver /OPT:REF /OPT:ICF /ENTRY:"FxDriverEntry@8" /RELEASE /IMPLIB:"C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X86 /PROFILE /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 /osversion:6.3 /pdbcompress /debugtype:pdata Win8.1Debug\pcivme_drv.obj |
C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme.sys" /VERSION:"6.3" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\BufferOverflowFastFailK.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\ntoskrnl.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\hal.lib" "C:\Program Files\Windows Kits\8.1\lib\winV6.3\KM\x86\wmilib.lib" "C:\Program Files\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfLdr.lib" "C:\Program Files\Windows Kits\8.1\lib\wdf\kmdf\x86\1.11\WdfDriverEntry.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme.pdb" /SUBSYSTEM:NATIVE,"6.03" /Driver /OPT:REF /OPT:ICF /ENTRY:"FxDriverEntry@8" /RELEASE /IMPLIB:"C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X86 /PROFILE /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 /osversion:6.3 /pdbcompress /debugtype:pdata Win8.1Debug\pcivme_drv.obj |
Win8.1Debug\pcivme_fifo.obj |
Win8.1Debug\pcivme_i.obj |
Win8.1Debug\pcivme_io.obj |
Win8.1Debug\pcivme_v.obj |
pcivme.vcxproj -> C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme.sys |
DriverTestSign: |
C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool.exe sign /ph /sha1 "582A29F728D647902CAA175FC6F560D6BB7011DD" |
Done Adding Additional Store |
Successfully signed: C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\Win8.1Debug\pcivme.sys |
1>Done Building Project "C:\Users\f9daq\rok\wienerpciada\PciVme\WIN2000-XP\wiener_pcivme\pcivme\pcivme.vcxproj" (Rebuild target(s)). |
pcivme.vcxproj -> C:\home\rok\wiener_pcivme_new\Win8.1Debug\pcivme.sys |
1>Done Building Project "C:\home\rok\wiener_pcivme_new\pcivme\pcivme.vcxproj" (Build target(s)). |
Build succeeded. |
Time Elapsed 00:00:01.30 |
Time Elapsed 00:00:00.87 |
/wiener_pcivme/pcivme/pcivme.inf |
---|
5,7 → 5,8 |
[Version] |
Signature="$WINDOWS NT$" |
Provider = %ManufacturerName% |
Class = %PCIVME_class_name% |
Class = PCIVME |
;Class = %PCIVME_class_name% |
ClassGUID = {c4ad1dfa-3e35-4659-bf2b-c83cda6833e1} |
DriverVer = 02/10/2014, 4.0.0.0 |
30,6 → 31,7 |
[SourceDisksFiles] |
pcivme.sys = 1,, |
;***************************************** |
; Install Section |
;***************************************** |
38,7 → 40,7 |
%ManufacturerName%=Standard,NT$ARCH$ |
[Standard.NT$ARCH$] |
;%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme ; TODO: edit hw-id |
%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_01 |
/wiener_pcivme/pcivme |
---|
Property changes: |
Added: svn:global-ignores |
## -0,0 +1,4 ## |
+Win7Debug |
+Win7Release |
+Win8Debug |
+Win8Release |
Index: Win8.1Release/pcivme.sys |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/Win8.1Release/pcivme.sys |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-application/octet-stream |
\ No newline at end of property |
Index: Win8.1Release/pcivme.inf |
=================================================================== |
--- Win8.1Release/pcivme.inf (revision 40) |
+++ Win8.1Release/pcivme.inf (nonexistent) |
@@ -1,97 +0,0 @@ |
-; |
-; pcivme.inf |
-; |
- |
-[Version] |
-Signature="$WINDOWS NT$" |
-Provider = %ManufacturerName% |
-Class = %PCIVME_class_name% |
-ClassGUID = {c4ad1dfa-3e35-4659-bf2b-c83cda6833e1} |
-DriverVer=02/10/2014,10.11.41.893 |
- |
-CatalogFile=pcivme.cat |
-;DriverVer= ; TODO: set DriverVer in stampinf property pages |
- |
-[DestinationDirs] |
-DefaultDestDir = 12 |
- |
-; ================= Class section ===================== |
- |
-[ClassInstall32] |
-Addreg=SampleClassReg |
- |
-[SampleClassReg] |
-HKR,,,0,%ClassName% |
-HKR,,Icon,,-5 |
- |
-[SourceDisksNames] |
-1 = %DiskName%,,,"" |
- |
-[SourceDisksFiles] |
-pcivme.sys = 1,, |
- |
-;***************************************** |
-; Install Section |
-;***************************************** |
- |
-[Manufacturer] |
-%ManufacturerName%=Standard,NTx86 |
- |
-[Standard.NTx86] |
-;%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme ; TODO: edit hw-id |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_01 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_02 |
- |
-[pcivme_Device.NT] |
-CopyFiles=Drivers_Dir |
- |
-[Drivers_Dir] |
-pcivme.sys |
- |
-;-------------- Service installation |
-[pcivme_Device.NT.Services] |
-AddService = pcivme,%SPSVCINST_ASSOCSERVICE%, pcivme_Service_Inst |
- |
-; -------------- pcivme driver install sections |
-[pcivme_Service_Inst] |
-DisplayName = %pcivme.SVCDESC% |
-ServiceType = 1 ; SERVICE_KERNEL_DRIVER |
-StartType = 3 ; SERVICE_DEMAND_START |
-ErrorControl = 0 ; SERVICE_ERROR_IGNORE |
-ServiceBinary = %12%\pcivme.sys |
-LoadOrderGroup = Extended Base |
- |
-; |
-;--- pcivme_Device Coinstaller installation ------ |
-; |
- |
-[DestinationDirs] |
-pcivme_Device_CoInstaller_CopyFiles = 11 |
- |
-[pcivme_Device.NT.CoInstallers] |
-AddReg=pcivme_Device_CoInstaller_AddReg |
-CopyFiles=pcivme_Device_CoInstaller_CopyFiles |
- |
-[pcivme_Device_CoInstaller_AddReg] |
-HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller" |
- |
-[pcivme_Device_CoInstaller_CopyFiles] |
-WdfCoInstaller01011.dll |
- |
-[SourceDisksFiles] |
-WdfCoInstaller01011.dll=1 ; make sure the number matches with SourceDisksNames |
- |
-[pcivme_Device.NT.Wdf] |
-KmdfService = pcivme, pcivme_wdfsect |
-[pcivme_wdfsect] |
-KmdfLibraryVersion = 1.11 |
- |
-[Strings] |
-SPSVCINST_ASSOCSERVICE= 0x00000002 |
-ManufacturerName="ARW Elektronik, Germany" ; TODO: add ManufacturerName |
-ClassName="ARW BUS Interfaces" ; TODO: edit ClassName |
-DiskName = "pcivme Installation Disk" |
-pcivme.DeviceDesc = "pcivme Device" |
-pcivme.SVCDESC = "pcivme Service" |
Index: Win8.1Release/pcivme.pdb |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/Win8.1Release/pcivme.pdb |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-application/octet-stream |
\ No newline at end of property |
Index: Win8.1Release/pcivme Package/pcivme.sys |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Index: Win8.1Release/pcivme Package/pcivme.cat |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Index: Win8.1Release/pcivme Package/pcivme.inf |
=================================================================== |
--- Win8.1Release/pcivme Package/pcivme.inf (revision 40) |
+++ Win8.1Release/pcivme Package/pcivme.inf (revision 41) |
@@ -5,9 +5,10 @@ |
[Version] |
Signature="$WINDOWS NT$" |
Provider = %ManufacturerName% |
-Class = %PCIVME_class_name% |
+Class = PCIVME |
+;Class = %PCIVME_class_name% |
ClassGUID = {c4ad1dfa-3e35-4659-bf2b-c83cda6833e1} |
-DriverVer=02/10/2014,10.11.41.893 |
+DriverVer=04/15/2014,9.30.23.303 |
CatalogFile=pcivme.cat |
;DriverVer= ; TODO: set DriverVer in stampinf property pages |
@@ -30,6 +31,7 @@ |
[SourceDisksFiles] |
pcivme.sys = 1,, |
+ |
;***************************************** |
; Install Section |
;***************************************** |
@@ -38,7 +40,7 @@ |
%ManufacturerName%=Standard,NTx86 |
[Standard.NTx86] |
-;%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme ; TODO: edit hw-id |
+%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_01 |
/wiener_pcivme/Win8.1Release |
---|
Property changes: |
Added: svn:ignore |
## -0,0 +1,3 ## |
+pcivme.inf |
+pcivme.pdb |
+pcivme.sys |
Index: Win8.1Debug/pcivme.sys |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/Win8.1Debug/pcivme.sys |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-application/octet-stream |
\ No newline at end of property |
Index: Win8.1Debug/pcivme.inf |
=================================================================== |
--- Win8.1Debug/pcivme.inf (revision 40) |
+++ Win8.1Debug/pcivme.inf (nonexistent) |
@@ -1,97 +0,0 @@ |
-; |
-; pcivme.inf |
-; |
- |
-[Version] |
-Signature="$WINDOWS NT$" |
-Provider = %ManufacturerName% |
-Class = %PCIVME_class_name% |
-ClassGUID = {c4ad1dfa-3e35-4659-bf2b-c83cda6833e1} |
-DriverVer=02/10/2014,10.11.43.5 |
- |
-CatalogFile=pcivme.cat |
-;DriverVer= ; TODO: set DriverVer in stampinf property pages |
- |
-[DestinationDirs] |
-DefaultDestDir = 12 |
- |
-; ================= Class section ===================== |
- |
-[ClassInstall32] |
-Addreg=SampleClassReg |
- |
-[SampleClassReg] |
-HKR,,,0,%ClassName% |
-HKR,,Icon,,-5 |
- |
-[SourceDisksNames] |
-1 = %DiskName%,,,"" |
- |
-[SourceDisksFiles] |
-pcivme.sys = 1,, |
- |
-;***************************************** |
-; Install Section |
-;***************************************** |
- |
-[Manufacturer] |
-%ManufacturerName%=Standard,NTx86 |
- |
-[Standard.NTx86] |
-;%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme ; TODO: edit hw-id |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_01 |
-%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_02 |
- |
-[pcivme_Device.NT] |
-CopyFiles=Drivers_Dir |
- |
-[Drivers_Dir] |
-pcivme.sys |
- |
-;-------------- Service installation |
-[pcivme_Device.NT.Services] |
-AddService = pcivme,%SPSVCINST_ASSOCSERVICE%, pcivme_Service_Inst |
- |
-; -------------- pcivme driver install sections |
-[pcivme_Service_Inst] |
-DisplayName = %pcivme.SVCDESC% |
-ServiceType = 1 ; SERVICE_KERNEL_DRIVER |
-StartType = 3 ; SERVICE_DEMAND_START |
-ErrorControl = 0 ; SERVICE_ERROR_IGNORE |
-ServiceBinary = %12%\pcivme.sys |
-LoadOrderGroup = Extended Base |
- |
-; |
-;--- pcivme_Device Coinstaller installation ------ |
-; |
- |
-[DestinationDirs] |
-pcivme_Device_CoInstaller_CopyFiles = 11 |
- |
-[pcivme_Device.NT.CoInstallers] |
-AddReg=pcivme_Device_CoInstaller_AddReg |
-CopyFiles=pcivme_Device_CoInstaller_CopyFiles |
- |
-[pcivme_Device_CoInstaller_AddReg] |
-HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller" |
- |
-[pcivme_Device_CoInstaller_CopyFiles] |
-WdfCoInstaller01011.dll |
- |
-[SourceDisksFiles] |
-WdfCoInstaller01011.dll=1 ; make sure the number matches with SourceDisksNames |
- |
-[pcivme_Device.NT.Wdf] |
-KmdfService = pcivme, pcivme_wdfsect |
-[pcivme_wdfsect] |
-KmdfLibraryVersion = 1.11 |
- |
-[Strings] |
-SPSVCINST_ASSOCSERVICE= 0x00000002 |
-ManufacturerName="ARW Elektronik, Germany" ; TODO: add ManufacturerName |
-ClassName="ARW BUS Interfaces" ; TODO: edit ClassName |
-DiskName = "pcivme Installation Disk" |
-pcivme.DeviceDesc = "pcivme Device" |
-pcivme.SVCDESC = "pcivme Service" |
Index: Win8.1Debug/pcivme.pdb |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/Win8.1Debug/pcivme.pdb |
---|
Property changes: |
Deleted: svn:mime-type |
## -1 +0,0 ## |
-application/octet-stream |
\ No newline at end of property |
Index: Win8.1Debug/pcivme Package/pcivme.sys |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Index: Win8.1Debug/pcivme Package/pcivme.cat |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Index: Win8.1Debug/pcivme Package/pcivme.inf |
=================================================================== |
--- Win8.1Debug/pcivme Package/pcivme.inf (revision 40) |
+++ Win8.1Debug/pcivme Package/pcivme.inf (revision 41) |
@@ -5,9 +5,10 @@ |
[Version] |
Signature="$WINDOWS NT$" |
Provider = %ManufacturerName% |
-Class = %PCIVME_class_name% |
+Class = PCIVME |
+;Class = %PCIVME_class_name% |
ClassGUID = {c4ad1dfa-3e35-4659-bf2b-c83cda6833e1} |
-DriverVer=02/10/2014,10.11.43.5 |
+DriverVer=04/14/2014,14.20.40.814 |
CatalogFile=pcivme.cat |
;DriverVer= ; TODO: set DriverVer in stampinf property pages |
@@ -38,7 +39,7 @@ |
%ManufacturerName%=Standard,NTx86 |
[Standard.NTx86] |
-;%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme ; TODO: edit hw-id |
+%pcivme.DeviceDesc%=pcivme_Device, Root\pcivme |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050 |
%pcivme.DeviceDesc%=pcivme_Device, PCI\VEN_10B5&DEV_9050&SUBSYS_11679050&REV_01 |
/wiener_pcivme/Win8.1Debug |
---|
Property changes: |
Added: svn:ignore |
## -0,0 +1,3 ## |
+pcivme.inf |
+pcivme.pdb |
+pcivme.sys |
Index: . |
=================================================================== |
--- . (revision 40) |
+++ . (revision 41) |
/. |
---|
Property changes: |
Modified: svn:global-ignores |
## -1,2 +1,5 ## |
*.sdf |
*.suo |
+Win7Debug |
+Win8Debug |
+Win8Release |
Added: svn:ignore |
## -0,0 +1,2 ## |
+Win7Release |
+Win8Debug |