since w8.1 only pfnWdfDeviceStopIdleActual & pfnWdfDeviceResumeIdleActual was added
#include
static add_struct(size)
{
auto id, mid;
id = AddStrucEx(-1,"WDFFUNCTIONS",0);
if ( -1 == id )
id = GetStrucIdByName("WDFFUNCTIONS");
if ( -1 == id )
return -1;
mid = AddStrucMember(id,"pfnWdfChildListCreate", 0X0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListGetDevice", 0X8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListRetrievePdo", 0X10, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListRetrieveAddressDescription", 0X18, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListBeginScan", 0X20, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListEndScan", 0X28, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListBeginIteration", 0X30, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListRetrieveNextDevice", 0X38, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListEndIteration", 0X40, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListAddOrUpdateChildDescriptionAsPresent", 0X48, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListUpdateChildDescriptionAsMissing", 0X50, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListUpdateAllChildDescriptionsAsPresent", 0X58, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfChildListRequestChildEject", 0X60, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionCreate", 0X68, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionGetCount", 0X70, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionAdd", 0X78, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionRemove", 0X80, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionRemoveItem", 0X88, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionGetItem", 0X90, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionGetFirstItem", 0X98, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCollectionGetLastItem", 0XA0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCommonBufferCreate", 0XA8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCommonBufferGetAlignedVirtualAddress", 0XB0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCommonBufferGetAlignedLogicalAddress", 0XB8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCommonBufferGetLength", 0XC0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfControlDeviceInitAllocate", 0XC8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfControlDeviceInitSetShutdownNotification", 0XD0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfControlFinishInitializing", 0XD8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDeviceState", 0XE0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetDeviceState", 0XE8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWdmDeviceGetWdfDeviceHandle", 0XF0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceWdmGetDeviceObject", 0XF8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceWdmGetAttachedDevice", 0X100, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceWdmGetPhysicalDevice", 0X108, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceWdmDispatchPreprocessedIrp", 0X110, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAddDependentUsageDeviceObject", 0X118, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAddRemovalRelationsPhysicalDevice", 0X120, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceRemoveRemovalRelationsPhysicalDevice", 0X128, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceClearRemovalRelationsDevices", 0X130, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDriver", 0X138, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceRetrieveDeviceName", 0X140, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAssignMofResourceName", 0X148, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetIoTarget", 0X150, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDevicePnpState", 0X158, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDevicePowerState", 0X160, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDevicePowerPolicyState", 0X168, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAssignS0IdleSettings", 0X170, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAssignSxWakeSettings", 0X178, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceOpenRegistryKey", 0X180, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetSpecialFileSupport", 0X188, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetCharacteristics", 0X190, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetCharacteristics", 0X198, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetAlignmentRequirement", 0X1A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetAlignmentRequirement", 0X1A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitFree", 0X1B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPnpPowerEventCallbacks", 0X1B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPowerPolicyEventCallbacks", 0X1C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPowerPolicyOwnership", 0X1C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitRegisterPnpStateChangeCallback", 0X1D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitRegisterPowerStateChangeCallback", 0X1D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitRegisterPowerPolicyStateChangeCallback", 0X1E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetIoType", 0X1E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetExclusive", 0X1F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPowerNotPageable", 0X1F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPowerPageable", 0X200, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetPowerInrush", 0X208, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetDeviceType", 0X210, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitAssignName", 0X218, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitAssignSDDLString", 0X220, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetDeviceClass", 0X228, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetCharacteristics", 0X230, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetFileObjectConfig", 0X238, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetRequestAttributes", 0X240, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitAssignWdmIrpPreprocessCallback", 0X248, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceInitSetIoInCallerContextCallback", 0X250, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceCreate", 0X258, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetStaticStopRemove", 0X260, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceCreateDeviceInterface", 0X268, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetDeviceInterfaceState", 0X270, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceRetrieveDeviceInterfaceString", 0X278, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceCreateSymbolicLink", 0X280, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceQueryProperty", 0X288, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAllocAndQueryProperty", 0X290, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetPnpCapabilities", 0X298, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetPowerCapabilities", 0X2A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetBusInformationForChildren", 0X2A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceIndicateWakeStatus", 0X2B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceSetFailed", 0X2B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceStopIdle", 0X2C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceResumeIdle", 0X2C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetFileObject", 0X2D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceEnqueueRequest", 0X2D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetDefaultQueue", 0X2E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceConfigureRequestDispatching", 0X2E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerCreate", 0X2F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerGetMaximumLength", 0X2F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerGetMaximumScatterGatherElements", 0X300, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerSetMaximumScatterGatherElements", 0X308, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionCreate", 0X310, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionInitialize", 0X318, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionInitializeUsingRequest", 0X320, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionExecute", 0X328, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionRelease", 0X330, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionDmaCompleted", 0X338, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionDmaCompletedWithLength", 0X340, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionDmaCompletedFinal", 0X348, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionGetBytesTransferred", 0X350, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionSetMaximumLength", 0X358, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionGetRequest", 0X360, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionGetCurrentDmaTransferLength", 0X368, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaTransactionGetDevice", 0X370, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDpcCreate", 0X378, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDpcEnqueue", 0X380, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDpcCancel", 0X388, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDpcGetParentObject", 0X390, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDpcWdmGetDpc", 0X398, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverCreate", 0X3A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverGetRegistryPath", 0X3A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverWdmGetDriverObject", 0X3B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverOpenParametersRegistryKey", 0X3B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWdmDriverGetWdfDriverHandle", 0X3C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverRegisterTraceInfo", 0X3C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverRetrieveVersionString", 0X3D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverIsVersionAvailable", 0X3D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitWdmGetPhysicalDevice", 0X3E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitOpenRegistryKey", 0X3E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitQueryProperty", 0X3F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitAllocAndQueryProperty", 0X3F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitSetEventCallbacks", 0X400, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitSetFilter", 0X408, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoInitSetDefaultChildListConfig", 0X410, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoQueryForInterface", 0X418, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoGetDefaultChildList", 0X420, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoAddStaticChild", 0X428, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoLockStaticChildListForIteration", 0X430, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoRetrieveNextStaticChild", 0X438, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFdoUnlockStaticChildListFromIteration", 0X440, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFileObjectGetFileName", 0X448, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFileObjectGetFlags", 0X450, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFileObjectGetDevice", 0X458, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfFileObjectWdmGetFileObject", 0X460, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptCreate", 0X468, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptQueueDpcForIsr", 0X470, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptSynchronize", 0X478, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptAcquireLock", 0X480, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptReleaseLock", 0X488, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptEnable", 0X490, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptDisable", 0X498, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptWdmGetInterrupt", 0X4A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptGetInfo", 0X4A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptSetPolicy", 0X4B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptGetDevice", 0X4B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueCreate", 0X4C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueGetState", 0X4C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueStart", 0X4D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueStop", 0X4D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueStopSynchronously", 0X4E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueGetDevice", 0X4E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueRetrieveNextRequest", 0X4F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueRetrieveRequestByFileObject", 0X4F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueFindRequest", 0X500, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueRetrieveFoundRequest", 0X508, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueDrainSynchronously", 0X510, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueDrain", 0X518, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueuePurgeSynchronously", 0X520, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueuePurge", 0X528, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueReadyNotify", 0X530, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetCreate", 0X538, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetOpen", 0X540, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetCloseForQueryRemove", 0X548, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetClose", 0X550, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetStart", 0X558, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetStop", 0X560, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetGetState", 0X568, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetGetDevice", 0X570, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetQueryTargetProperty", 0X578, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetAllocAndQueryTargetProperty", 0X580, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetQueryForInterface", 0X588, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetWdmGetTargetDeviceObject", 0X590, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetWdmGetTargetPhysicalDevice", 0X598, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetWdmGetTargetFileObject", 0X5A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetWdmGetTargetFileHandle", 0X5A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetSendReadSynchronously", 0X5B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetFormatRequestForRead", 0X5B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetSendWriteSynchronously", 0X5C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetFormatRequestForWrite", 0X5C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetSendIoctlSynchronously", 0X5D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetFormatRequestForIoctl", 0X5D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetSendInternalIoctlSynchronously", 0X5E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetFormatRequestForInternalIoctl", 0X5E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetSendInternalIoctlOthersSynchronously", 0X5F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoTargetFormatRequestForInternalIoctlOthers", 0X5F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryCreate", 0X600, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryCreatePreallocated", 0X608, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryGetBuffer", 0X610, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryAssignBuffer", 0X618, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryCopyToBuffer", 0X620, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryCopyFromBuffer", 0X628, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfLookasideListCreate", 0X630, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfMemoryCreateFromLookaside", 0X638, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceMiniportCreate", 0X640, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDriverMiniportUnload", 0X648, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectGetTypedContextWorker", 0X650, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectAllocateContext", 0X658, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectContextGetObject", 0X660, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectReferenceActual", 0X668, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectDereferenceActual", 0X670, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectCreate", 0X678, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectDelete", 0X680, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectQuery", 0X688, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAllocate", 0X690, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitSetEventCallbacks", 0X698, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAssignDeviceID", 0X6A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAssignInstanceID", 0X6A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAddHardwareID", 0X6B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAddCompatibleID", 0X6B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAddDeviceText", 0X6C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitSetDefaultLocale", 0X6C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAssignRawDevice", 0X6D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoMarkMissing", 0X6D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoRequestEject", 0X6E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoGetParent", 0X6E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoRetrieveIdentificationDescription", 0X6F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoRetrieveAddressDescription", 0X6F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoUpdateAddressDescription", 0X700, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoAddEjectionRelationsPhysicalDevice", 0X708, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoRemoveEjectionRelationsPhysicalDevice", 0X710, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoClearEjectionRelationsDevices", 0X718, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceAddQueryInterface", 0X720, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryOpenKey", 0X728, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryCreateKey", 0X730, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryClose", 0X738, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryWdmGetHandle", 0X740, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryRemoveKey", 0X748, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryRemoveValue", 0X750, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryValue", 0X758, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryMemory", 0X760, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryMultiString", 0X768, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryUnicodeString", 0X770, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryString", 0X778, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryQueryULong", 0X780, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignValue", 0X788, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignMemory", 0X790, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignMultiString", 0X798, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignUnicodeString", 0X7A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignString", 0X7A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRegistryAssignULong", 0X7B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestCreate", 0X7B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestCreateFromIrp", 0X7C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestReuse", 0X7C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestChangeTarget", 0X7D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestFormatRequestUsingCurrentType", 0X7D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestWdmFormatUsingStackLocation", 0X7E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestSend", 0X7E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetStatus", 0X7F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestMarkCancelable", 0X7F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestUnmarkCancelable", 0X800, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestIsCanceled", 0X808, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestCancelSentRequest", 0X810, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestIsFrom32BitProcess", 0X818, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestSetCompletionRoutine", 0X820, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetCompletionParams", 0X828, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestAllocateTimer", 0X830, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestComplete", 0X838, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestCompleteWithPriorityBoost", 0X840, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestCompleteWithInformation", 0X848, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetParameters", 0X850, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveInputMemory", 0X858, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveOutputMemory", 0X860, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveInputBuffer", 0X868, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveOutputBuffer", 0X870, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveInputWdmMdl", 0X878, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveOutputWdmMdl", 0X880, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveUnsafeUserInputBuffer", 0X888, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRetrieveUnsafeUserOutputBuffer", 0X890, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestSetInformation", 0X898, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetInformation", 0X8A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetFileObject", 0X8A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestProbeAndLockUserBufferForRead", 0X8B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestProbeAndLockUserBufferForWrite", 0X8B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetRequestorMode", 0X8C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestForwardToIoQueue", 0X8C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestGetIoQueue", 0X8D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestRequeue", 0X8D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestStopAcknowledge", 0X8E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestWdmGetIrp", 0X8E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListSetSlotNumber", 0X8F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListSetInterfaceType", 0X8F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListAppendIoResList", 0X900, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListInsertIoResList", 0X908, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListGetCount", 0X910, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListGetIoResList", 0X918, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListRemove", 0X920, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceRequirementsListRemoveByIoResList", 0X928, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListCreate", 0X930, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListAppendDescriptor", 0X938, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListInsertDescriptor", 0X940, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListUpdateDescriptor", 0X948, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListGetCount", 0X950, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListGetDescriptor", 0X958, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListRemove", 0X960, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoResourceListRemoveByDescriptor", 0X968, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListAppendDescriptor", 0X970, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListInsertDescriptor", 0X978, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListGetCount", 0X980, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListGetDescriptor", 0X988, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListRemove", 0X990, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfCmResourceListRemoveByDescriptor", 0X998, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfStringCreate", 0X9A0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfStringGetUnicodeString", 0X9A8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectAcquireLock", 0X9B0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfObjectReleaseLock", 0X9B8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWaitLockCreate", 0X9C0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWaitLockAcquire", 0X9C8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWaitLockRelease", 0X9D0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfSpinLockCreate", 0X9D8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfSpinLockAcquire", 0X9E0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfSpinLockRelease", 0X9E8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfTimerCreate", 0X9F0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfTimerStart", 0X9F8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfTimerStop", 0XA00, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfTimerGetParentObject", 0XA08, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceCreate", 0XA10, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceRetrieveInformation", 0XA18, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceGetDeviceDescriptor", 0XA20, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceRetrieveConfigDescriptor", 0XA28, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceQueryString", 0XA30, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceAllocAndQueryString", 0XA38, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceFormatRequestForString", 0XA40, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceGetNumInterfaces", 0XA48, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceSelectConfig", 0XA50, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceWdmGetConfigurationHandle", 0XA58, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceRetrieveCurrentFrameNumber", 0XA60, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceSendControlTransferSynchronously", 0XA68, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceFormatRequestForControlTransfer", 0XA70, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceIsConnectedSynchronous", 0XA78, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceResetPortSynchronously", 0XA80, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceCyclePortSynchronously", 0XA88, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceFormatRequestForCyclePort", 0XA90, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceSendUrbSynchronously", 0XA98, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceFormatRequestForUrb", 0XAA0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeGetInformation", 0XAA8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeIsInEndpoint", 0XAB0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeIsOutEndpoint", 0XAB8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeGetType", 0XAC0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeSetNoMaximumPacketSizeCheck", 0XAC8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeWriteSynchronously", 0XAD0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeFormatRequestForWrite", 0XAD8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeReadSynchronously", 0XAE0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeFormatRequestForRead", 0XAE8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeConfigContinuousReader", 0XAF0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeAbortSynchronously", 0XAF8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeFormatRequestForAbort", 0XB00, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeResetSynchronously", 0XB08, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeFormatRequestForReset", 0XB10, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeSendUrbSynchronously", 0XB18, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeFormatRequestForUrb", 0XB20, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetInterfaceNumber", 0XB28, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetNumEndpoints", 0XB30, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetDescriptor", 0XB38, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceSelectSetting", 0XB40, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetEndpointInformation", 0XB48, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetDeviceGetInterface", 0XB50, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetConfiguredSettingIndex", 0XB58, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetNumConfiguredPipes", 0XB60, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetConfiguredPipe", 0XB68, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfUsbTargetPipeWdmGetPipeHandle", 0XB70, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfVerifierDbgBreakPoint", 0XB78, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfVerifierKeBugCheck", 0XB80, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiProviderCreate", 0XB88, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiProviderGetDevice", 0XB90, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiProviderIsEnabled", 0XB98, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiProviderGetTracingHandle", 0XBA0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceCreate", 0XBA8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceRegister", 0XBB0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceDeregister", 0XBB8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceGetDevice", 0XBC0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceGetProvider", 0XBC8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWmiInstanceFireEvent", 0XBD0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWorkItemCreate", 0XBD8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWorkItemEnqueue", 0XBE0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWorkItemGetParentObject", 0XBE8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfWorkItemFlush", 0XBF0, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
if ( size == 0x17f )
return id;
mid = AddStrucMember(id,"pfnWdfCommonBufferCreateWithConfig", 0XBF8, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerGetFragmentLength", 0XC00, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDmaEnablerWdmGetDmaAdapter", 0XC08, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
if ( size == 0x182 ) // vista
return id;
mid = AddStrucMember(id,"pfnWdfUsbInterfaceGetNumSettings", 0XC10, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
if ( size == 0x183 ) // vista sp2
return id;
mid = AddStrucMember(id,"pfnWdfDeviceRemoveDependentUsageDeviceObject", 0XC18, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfDeviceGetSystemPowerAction", 0XC20, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfInterruptSetExtendedPolicy", 0XC28, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfIoQueueAssignForwardProgressPolicy", 0XC30, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAssignContainerID", 0XC38, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfPdoInitAllowForwardingRequestToParent", 0XC40, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestMarkCancelableEx", 0XC48, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestIsReserved", 0XC50, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
mid = AddStrucMember(id,"pfnWdfRequestForwardToParentDeviceIoQueue", 0XC58, 0x35500400, 0XFFFFFFFFFFFFFFFF, 8, 0XFFFFFFFFFFFFFFFF, 0X0, 0x000009);
if ( size == 0x18c ) // w7
return id;
AddStrucMember(id,"pfnWdfCxDeviceInitAllocate", 0Xc60, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfCxDeviceInitAssignWdmIrpPreprocessCallback", 0Xc68, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfCxDeviceInitSetIoInCallerContextCallback", 0Xc70, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfCxDeviceInitSetRequestAttributes", 0Xc78, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfCxDeviceInitSetFileObjectConfig", 0Xc80, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceWdmDispatchIrp", 0Xc88, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceWdmDispatchIrpToIoQueue", 0Xc90, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceInitSetRemoveLockOptions", 0Xc98, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceConfigureWdmIrpDispatchCallback",0Xca0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaEnablerConfigureSystemProfile", 0Xca8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionInitializeUsingOffset", 0Xcb0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionGetTransferInfo", 0Xcb8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionSetChannelConfigurationCallback",0Xcc0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionSetTransferCompleteCallback", 0Xcc8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionSetImmediateExecution", 0Xcd0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionAllocateResources", 0Xcd8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionSetDeviceAddressOffset", 0Xce0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionFreeResources", 0Xce8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionCancel", 0Xcf0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionWdmGetTransferContext", 0XCf8, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfInterruptQueueWorkItemForIsr", 0Xd00, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfInterruptTryToAcquireLock", 0Xd08, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfIoQueueStopAndPurge", 0Xd10, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfIoQueueStopAndPurgeSynchronously", 0Xd18, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfIoTargetPurge", 0Xd20, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfUsbTargetDeviceCreateWithParameters", 0Xd28, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfUsbTargetDeviceQueryUsbCapability", 0Xd30, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfUsbTargetDeviceCreateUrb", 0Xd38, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfUsbTargetDeviceCreateIsochUrb", 0Xd40, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceWdmAssignPowerFrameworkSettings", 0Xd48, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDmaTransactionStopSystemTransfer", 0Xd50, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfCxVerifierKeBugCheck", 0Xd58, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfInterruptReportActive", 0Xd60, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfInterruptReportInactive", 0Xd68, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceInitSetReleaseHardwareOrderOnFailure", 0Xd70, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfGetTriageInfo", 0Xd78, 0x35500400, -1, 8);
if ( size == 0x1b0 ) // w8
return id;
AddStrucMember(id,"pfnWdfDeviceInitSetIoTypeEx", 0Xd80, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceQueryPropertyEx", 0Xd88, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceAllocAndQueryPropertyEx",0Xd90, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceAssignProperty", 0Xd98, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfFdoInitQueryPropertyEx", 0Xda0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfFdoInitAllocAndQueryPropertyEx",0Xda8, 0x35500400, -1, 8);
if ( size == 0x1b6 ) // w8.1
return id;
AddStrucMember(id,"pfnWdfDeviceStopIdleActual", 0Xdb0, 0x35500400, -1, 8);
AddStrucMember(id,"pfnWdfDeviceResumeIdleActual", 0Xdb8, 0x35500400, -1, 8);
return id;
}
static main(void)
{
auto data_start;
auto data_end;
auto idx;
// out data
auto wdf_size;
auto wdf_func;
data_end = data_start = BADADDR;
wdf_size = 0;
wdf_func = BADADDR;
// find .data section
for ( idx = FirstSeg(); idx != BADADDR; idx = NextSeg(idx) )
{
auto sname;
sname = SegName(idx);
if ( (strlen(sname) == 5) &&
strstr(sname, ".data") != 0
)
{
data_start = SegStart(idx);
data_end = SegEnd(idx);
break;
}
}
if ( data_start == BADADDR )
return;
// find "KmdfLibrary" unicode string in .data section
idx = data_start;
while(1)
{
auto addr, id;
idx = FindBinary(idx, SEARCH_DOWN, "4B 00 6D 00 64 00 66 00 4C 00 69 00 62 00 72 00 61 00 72 00 79 00");
if ( idx == BADADDR )
break;
Message("found at %X\n", idx);
addr = DfirstB(idx);
if ( addr != BADADDR )
{
id = 0;
Message("ref from %X\n", addr);
wdf_size = Dword(addr + 0x14);
wdf_func = Qword(addr + 0x18);
if ( wdf_size != 0 )
{
id = add_struct(wdf_size);
}
if ( id != 0 )
{
auto ssize;
ssize = GetStrucSize(id);
MakeUnknown(wdf_func, ssize, 0);
if ( MakeData(wdf_func, FF_STRU, ssize, id) )
{
return;
}
Message("MakeData failed at %X, size %X\n", wdf_func, ssize);
}
}
idx = idx + 22; /* length of unicode string KmdfLibrary */
}
}