/*++ Copyright (c) Microsoft Corporation. All rights reserved. _WdfVersionBuild_ Module Name: WdfFuncEnum.h Abstract: Generated an enum of all WDF API functions Environment: kernel mode only Warning: manual changes to this file will be lost. --*/ #ifndef _WDFFUNCENUM_H_ #define _WDFFUNCENUM_H_ extern PWDF_DRIVER_GLOBALS WdfDriverGlobals; // // // The first version of the framework that added the support // for client version to be higher than the framework version // #define WDF_FIRST_VERSION_SUPPORTING_CLIENT_VERSION_HIGHER_THAN_FRAMEWORK 25 // // The function count from the first framework which added the support. // Any function with index less than the count is always available // #define WDF_ALWAYS_AVAILABLE_FUNCTION_COUNT 453 // // Validate KMDF_MINIMUM_VERSION_REQUIRED falls into the correct range // #if defined(KMDF_MINIMUM_VERSION_REQUIRED) #if KMDF_MINIMUM_VERSION_REQUIRED < WDF_FIRST_VERSION_SUPPORTING_CLIENT_VERSION_HIGHER_THAN_FRAMEWORK #error KMDF_MINIMUM_VERSION_REQUIRED < 25 #endif #if KMDF_MINIMUM_VERSION_REQUIRED > KMDF_VERSION_MINOR #error KMDF_MINIMUM_VERSION_REQUIRED > KMDF_VERSION_MINOR #endif #endif // // All functions/structures are always available in following two cases: // // 1) Building framework itself (which defines WDF_EVERYTHING_ALWAYS_AVAILABLE) // // 2) Traditional client drivers who are not aware of the new feature // "client version can be higher than framework's" and thus implies // KMDF_VERSION_MINOR == KMDF_MINIMUM_VERSION_REQUIRED // #if defined(KMDF_MINIMUM_VERSION_REQUIRED) && (KMDF_VERSION_MINOR == KMDF_MINIMUM_VERSION_REQUIRED) #if !defined(WDF_EVERYTHING_ALWAYS_AVAILABLE) #define WDF_EVERYTHING_ALWAYS_AVAILABLE #endif #endif // // private: // // TRUE - the client driver's target version is higher than the current framework version. // IS_FUNCTION_AVAILABLE() will compare function index agains function count to determine // whether the function is usable on the platform. The same for IS_FIELD_AVAILABLE(). // // FALSE - the client driver is running on a new framework. All functions/Structures // from the target framework are always available // extern BOOLEAN WdfClientVersionHigherThanFramework; // // private: // // Only valid when WdfClientVersionHigherThanFramework is TRUE. // // Hold the count of usable functions from the framework. Used by IS_FUNCTION_AVAILABLE // to determine whether a function is available on the platform. // extern ULONG WdfFunctionCount; // // private: // // Only valid when WdfClientVersionHigherThanFramework is TRUE. // // Hold the count of usable structures from the framework. Used by IS_FIELD_AVAILABLE // to determine whether a field in a structure is available on the platform. // extern ULONG WdfStructureCount; extern WDF_STRUCT_INFO WdfStructures; #ifndef WDF_STUB __declspec(selectany) ULONG WdfMinimumVersionRequired = #if defined(KMDF_MINIMUM_VERSION_REQUIRED) KMDF_MINIMUM_VERSION_REQUIRED #elif defined(KMDF_VERSION_MINOR) KMDF_VERSION_MINOR #else (ULONG)(-1) #endif ; #endif // // BOOLEAN // WDF_IS_FUNCTION_AVAILABLE( // FunctionName // ); // #define WDF_IS_FUNCTION_AVAILABLE(FunctionName) \ ( \ (FunctionName ## TableIndex < WDF_ALWAYS_AVAILABLE_FUNCTION_COUNT) \ || \ (!WdfClientVersionHigherThanFramework) \ || \ (FunctionName ## TableIndex < WdfFunctionCount) \ ) // // BOOLEAN // WDF_IS_STRUCTURE_AVAILABLE( // StructName // ); // #define WDF_IS_STRUCTURE_AVAILABLE(StructName) \ ( \ (!WdfClientVersionHigherThanFramework) \ || \ (INDEX_ ## StructName < WdfStructureCount) \ ) // // BOOLEAN // WDF_IS_FIELD_AVAILABLE( // StructName, // FieldName // ); // #define WDF_IS_FIELD_AVAILABLE(StructName, FieldName) \ ( \ (!WdfClientVersionHigherThanFramework) \ || \ ( \ (INDEX_ ## StructName < WdfStructureCount) \ && \ (FIELD_OFFSET(StructName, FieldName) < WdfStructures[INDEX_ ## StructName])\ ) \ ) // // ULONG // WDF_STRUCTURE_SIZE( // StructName // ); // // NOTE: if it returns (-1), the structure is not available on the // current framework (and should not be used). // #if defined(WDF_EVERYTHING_ALWAYS_AVAILABLE) #define WDF_STRUCTURE_SIZE(StructName) (ULONG)sizeof(StructName) #else #define WDF_STRUCTURE_SIZE(StructName) \ (ULONG) \ ( \ WdfClientVersionHigherThanFramework \ ? ( \ (INDEX_ ## StructName < WdfStructureCount) \ ? WdfStructures[INDEX_ ## StructName] \ : (size_t)(-1) \ ) \ : sizeof(StructName) \ ) #endif // WDF_STRUCTURE_SIZE typedef enum _WDFFUNCENUM { WdfChildListCreateTableIndex = 0, WdfChildListGetDeviceTableIndex = 1, WdfChildListRetrievePdoTableIndex = 2, WdfChildListRetrieveAddressDescriptionTableIndex = 3, WdfChildListBeginScanTableIndex = 4, WdfChildListEndScanTableIndex = 5, WdfChildListBeginIterationTableIndex = 6, WdfChildListRetrieveNextDeviceTableIndex = 7, WdfChildListEndIterationTableIndex = 8, WdfChildListAddOrUpdateChildDescriptionAsPresentTableIndex = 9, WdfChildListUpdateChildDescriptionAsMissingTableIndex = 10, WdfChildListUpdateAllChildDescriptionsAsPresentTableIndex = 11, WdfChildListRequestChildEjectTableIndex = 12, WdfCollectionCreateTableIndex = 13, WdfCollectionGetCountTableIndex = 14, WdfCollectionAddTableIndex = 15, WdfCollectionRemoveTableIndex = 16, WdfCollectionRemoveItemTableIndex = 17, WdfCollectionGetItemTableIndex = 18, WdfCollectionGetFirstItemTableIndex = 19, WdfCollectionGetLastItemTableIndex = 20, WdfCommonBufferCreateTableIndex = 21, WdfCommonBufferGetAlignedVirtualAddressTableIndex = 22, WdfCommonBufferGetAlignedLogicalAddressTableIndex = 23, WdfCommonBufferGetLengthTableIndex = 24, WdfControlDeviceInitAllocateTableIndex = 25, WdfControlDeviceInitSetShutdownNotificationTableIndex = 26, WdfControlFinishInitializingTableIndex = 27, WdfDeviceGetDeviceStateTableIndex = 28, WdfDeviceSetDeviceStateTableIndex = 29, WdfWdmDeviceGetWdfDeviceHandleTableIndex = 30, WdfDeviceWdmGetDeviceObjectTableIndex = 31, WdfDeviceWdmGetAttachedDeviceTableIndex = 32, WdfDeviceWdmGetPhysicalDeviceTableIndex = 33, WdfDeviceWdmDispatchPreprocessedIrpTableIndex = 34, WdfDeviceAddDependentUsageDeviceObjectTableIndex = 35, WdfDeviceAddRemovalRelationsPhysicalDeviceTableIndex = 36, WdfDeviceRemoveRemovalRelationsPhysicalDeviceTableIndex = 37, WdfDeviceClearRemovalRelationsDevicesTableIndex = 38, WdfDeviceGetDriverTableIndex = 39, WdfDeviceRetrieveDeviceNameTableIndex = 40, WdfDeviceAssignMofResourceNameTableIndex = 41, WdfDeviceGetIoTargetTableIndex = 42, WdfDeviceGetDevicePnpStateTableIndex = 43, WdfDeviceGetDevicePowerStateTableIndex = 44, WdfDeviceGetDevicePowerPolicyStateTableIndex = 45, WdfDeviceAssignS0IdleSettingsTableIndex = 46, WdfDeviceAssignSxWakeSettingsTableIndex = 47, WdfDeviceOpenRegistryKeyTableIndex = 48, WdfDeviceSetSpecialFileSupportTableIndex = 49, WdfDeviceSetCharacteristicsTableIndex = 50, WdfDeviceGetCharacteristicsTableIndex = 51, WdfDeviceGetAlignmentRequirementTableIndex = 52, WdfDeviceSetAlignmentRequirementTableIndex = 53, WdfDeviceInitFreeTableIndex = 54, WdfDeviceInitSetPnpPowerEventCallbacksTableIndex = 55, WdfDeviceInitSetPowerPolicyEventCallbacksTableIndex = 56, WdfDeviceInitSetPowerPolicyOwnershipTableIndex = 57, WdfDeviceInitRegisterPnpStateChangeCallbackTableIndex = 58, WdfDeviceInitRegisterPowerStateChangeCallbackTableIndex = 59, WdfDeviceInitRegisterPowerPolicyStateChangeCallbackTableIndex = 60, WdfDeviceInitSetIoTypeTableIndex = 61, WdfDeviceInitSetExclusiveTableIndex = 62, WdfDeviceInitSetPowerNotPageableTableIndex = 63, WdfDeviceInitSetPowerPageableTableIndex = 64, WdfDeviceInitSetPowerInrushTableIndex = 65, WdfDeviceInitSetDeviceTypeTableIndex = 66, WdfDeviceInitAssignNameTableIndex = 67, WdfDeviceInitAssignSDDLStringTableIndex = 68, WdfDeviceInitSetDeviceClassTableIndex = 69, WdfDeviceInitSetCharacteristicsTableIndex = 70, WdfDeviceInitSetFileObjectConfigTableIndex = 71, WdfDeviceInitSetRequestAttributesTableIndex = 72, WdfDeviceInitAssignWdmIrpPreprocessCallbackTableIndex = 73, WdfDeviceInitSetIoInCallerContextCallbackTableIndex = 74, WdfDeviceCreateTableIndex = 75, WdfDeviceSetStaticStopRemoveTableIndex = 76, WdfDeviceCreateDeviceInterfaceTableIndex = 77, WdfDeviceSetDeviceInterfaceStateTableIndex = 78, WdfDeviceRetrieveDeviceInterfaceStringTableIndex = 79, WdfDeviceCreateSymbolicLinkTableIndex = 80, WdfDeviceQueryPropertyTableIndex = 81, WdfDeviceAllocAndQueryPropertyTableIndex = 82, WdfDeviceSetPnpCapabilitiesTableIndex = 83, WdfDeviceSetPowerCapabilitiesTableIndex = 84, WdfDeviceSetBusInformationForChildrenTableIndex = 85, WdfDeviceIndicateWakeStatusTableIndex = 86, WdfDeviceSetFailedTableIndex = 87, WdfDeviceStopIdleNoTrackTableIndex = 88, WdfDeviceResumeIdleNoTrackTableIndex = 89, WdfDeviceGetFileObjectTableIndex = 90, WdfDeviceEnqueueRequestTableIndex = 91, WdfDeviceGetDefaultQueueTableIndex = 92, WdfDeviceConfigureRequestDispatchingTableIndex = 93, WdfDmaEnablerCreateTableIndex = 94, WdfDmaEnablerGetMaximumLengthTableIndex = 95, WdfDmaEnablerGetMaximumScatterGatherElementsTableIndex = 96, WdfDmaEnablerSetMaximumScatterGatherElementsTableIndex = 97, WdfDmaTransactionCreateTableIndex = 98, WdfDmaTransactionInitializeTableIndex = 99, WdfDmaTransactionInitializeUsingRequestTableIndex = 100, WdfDmaTransactionExecuteTableIndex = 101, WdfDmaTransactionReleaseTableIndex = 102, WdfDmaTransactionDmaCompletedTableIndex = 103, WdfDmaTransactionDmaCompletedWithLengthTableIndex = 104, WdfDmaTransactionDmaCompletedFinalTableIndex = 105, WdfDmaTransactionGetBytesTransferredTableIndex = 106, WdfDmaTransactionSetMaximumLengthTableIndex = 107, WdfDmaTransactionGetRequestTableIndex = 108, WdfDmaTransactionGetCurrentDmaTransferLengthTableIndex = 109, WdfDmaTransactionGetDeviceTableIndex = 110, WdfDpcCreateTableIndex = 111, WdfDpcEnqueueTableIndex = 112, WdfDpcCancelTableIndex = 113, WdfDpcGetParentObjectTableIndex = 114, WdfDpcWdmGetDpcTableIndex = 115, WdfDriverCreateTableIndex = 116, WdfDriverGetRegistryPathTableIndex = 117, WdfDriverWdmGetDriverObjectTableIndex = 118, WdfDriverOpenParametersRegistryKeyTableIndex = 119, WdfWdmDriverGetWdfDriverHandleTableIndex = 120, WdfDriverRegisterTraceInfoTableIndex = 121, WdfDriverRetrieveVersionStringTableIndex = 122, WdfDriverIsVersionAvailableTableIndex = 123, WdfFdoInitWdmGetPhysicalDeviceTableIndex = 124, WdfFdoInitOpenRegistryKeyTableIndex = 125, WdfFdoInitQueryPropertyTableIndex = 126, WdfFdoInitAllocAndQueryPropertyTableIndex = 127, WdfFdoInitSetEventCallbacksTableIndex = 128, WdfFdoInitSetFilterTableIndex = 129, WdfFdoInitSetDefaultChildListConfigTableIndex = 130, WdfFdoQueryForInterfaceTableIndex = 131, WdfFdoGetDefaultChildListTableIndex = 132, WdfFdoAddStaticChildTableIndex = 133, WdfFdoLockStaticChildListForIterationTableIndex = 134, WdfFdoRetrieveNextStaticChildTableIndex = 135, WdfFdoUnlockStaticChildListFromIterationTableIndex = 136, WdfFileObjectGetFileNameTableIndex = 137, WdfFileObjectGetFlagsTableIndex = 138, WdfFileObjectGetDeviceTableIndex = 139, WdfFileObjectWdmGetFileObjectTableIndex = 140, WdfInterruptCreateTableIndex = 141, WdfInterruptQueueDpcForIsrTableIndex = 142, WdfInterruptSynchronizeTableIndex = 143, WdfInterruptAcquireLockTableIndex = 144, WdfInterruptReleaseLockTableIndex = 145, WdfInterruptEnableTableIndex = 146, WdfInterruptDisableTableIndex = 147, WdfInterruptWdmGetInterruptTableIndex = 148, WdfInterruptGetInfoTableIndex = 149, WdfInterruptSetPolicyTableIndex = 150, WdfInterruptGetDeviceTableIndex = 151, WdfIoQueueCreateTableIndex = 152, WdfIoQueueGetStateTableIndex = 153, WdfIoQueueStartTableIndex = 154, WdfIoQueueStopTableIndex = 155, WdfIoQueueStopSynchronouslyTableIndex = 156, WdfIoQueueGetDeviceTableIndex = 157, WdfIoQueueRetrieveNextRequestTableIndex = 158, WdfIoQueueRetrieveRequestByFileObjectTableIndex = 159, WdfIoQueueFindRequestTableIndex = 160, WdfIoQueueRetrieveFoundRequestTableIndex = 161, WdfIoQueueDrainSynchronouslyTableIndex = 162, WdfIoQueueDrainTableIndex = 163, WdfIoQueuePurgeSynchronouslyTableIndex = 164, WdfIoQueuePurgeTableIndex = 165, WdfIoQueueReadyNotifyTableIndex = 166, WdfIoTargetCreateTableIndex = 167, WdfIoTargetOpenTableIndex = 168, WdfIoTargetCloseForQueryRemoveTableIndex = 169, WdfIoTargetCloseTableIndex = 170, WdfIoTargetStartTableIndex = 171, WdfIoTargetStopTableIndex = 172, WdfIoTargetGetStateTableIndex = 173, WdfIoTargetGetDeviceTableIndex = 174, WdfIoTargetQueryTargetPropertyTableIndex = 175, WdfIoTargetAllocAndQueryTargetPropertyTableIndex = 176, WdfIoTargetQueryForInterfaceTableIndex = 177, WdfIoTargetWdmGetTargetDeviceObjectTableIndex = 178, WdfIoTargetWdmGetTargetPhysicalDeviceTableIndex = 179, WdfIoTargetWdmGetTargetFileObjectTableIndex = 180, WdfIoTargetWdmGetTargetFileHandleTableIndex = 181, WdfIoTargetSendReadSynchronouslyTableIndex = 182, WdfIoTargetFormatRequestForReadTableIndex = 183, WdfIoTargetSendWriteSynchronouslyTableIndex = 184, WdfIoTargetFormatRequestForWriteTableIndex = 185, WdfIoTargetSendIoctlSynchronouslyTableIndex = 186, WdfIoTargetFormatRequestForIoctlTableIndex = 187, WdfIoTargetSendInternalIoctlSynchronouslyTableIndex = 188, WdfIoTargetFormatRequestForInternalIoctlTableIndex = 189, WdfIoTargetSendInternalIoctlOthersSynchronouslyTableIndex = 190, WdfIoTargetFormatRequestForInternalIoctlOthersTableIndex = 191, WdfMemoryCreateTableIndex = 192, WdfMemoryCreatePreallocatedTableIndex = 193, WdfMemoryGetBufferTableIndex = 194, WdfMemoryAssignBufferTableIndex = 195, WdfMemoryCopyToBufferTableIndex = 196, WdfMemoryCopyFromBufferTableIndex = 197, WdfLookasideListCreateTableIndex = 198, WdfMemoryCreateFromLookasideTableIndex = 199, WdfDeviceMiniportCreateTableIndex = 200, WdfDriverMiniportUnloadTableIndex = 201, WdfObjectGetTypedContextWorkerTableIndex = 202, WdfObjectAllocateContextTableIndex = 203, WdfObjectContextGetObjectTableIndex = 204, WdfObjectReferenceActualTableIndex = 205, WdfObjectDereferenceActualTableIndex = 206, WdfObjectCreateTableIndex = 207, WdfObjectDeleteTableIndex = 208, WdfObjectQueryTableIndex = 209, WdfPdoInitAllocateTableIndex = 210, WdfPdoInitSetEventCallbacksTableIndex = 211, WdfPdoInitAssignDeviceIDTableIndex = 212, WdfPdoInitAssignInstanceIDTableIndex = 213, WdfPdoInitAddHardwareIDTableIndex = 214, WdfPdoInitAddCompatibleIDTableIndex = 215, WdfPdoInitAddDeviceTextTableIndex = 216, WdfPdoInitSetDefaultLocaleTableIndex = 217, WdfPdoInitAssignRawDeviceTableIndex = 218, WdfPdoMarkMissingTableIndex = 219, WdfPdoRequestEjectTableIndex = 220, WdfPdoGetParentTableIndex = 221, WdfPdoRetrieveIdentificationDescriptionTableIndex = 222, WdfPdoRetrieveAddressDescriptionTableIndex = 223, WdfPdoUpdateAddressDescriptionTableIndex = 224, WdfPdoAddEjectionRelationsPhysicalDeviceTableIndex = 225, WdfPdoRemoveEjectionRelationsPhysicalDeviceTableIndex = 226, WdfPdoClearEjectionRelationsDevicesTableIndex = 227, WdfDeviceAddQueryInterfaceTableIndex = 228, WdfRegistryOpenKeyTableIndex = 229, WdfRegistryCreateKeyTableIndex = 230, WdfRegistryCloseTableIndex = 231, WdfRegistryWdmGetHandleTableIndex = 232, WdfRegistryRemoveKeyTableIndex = 233, WdfRegistryRemoveValueTableIndex = 234, WdfRegistryQueryValueTableIndex = 235, WdfRegistryQueryMemoryTableIndex = 236, WdfRegistryQueryMultiStringTableIndex = 237, WdfRegistryQueryUnicodeStringTableIndex = 238, WdfRegistryQueryStringTableIndex = 239, WdfRegistryQueryULongTableIndex = 240, WdfRegistryAssignValueTableIndex = 241, WdfRegistryAssignMemoryTableIndex = 242, WdfRegistryAssignMultiStringTableIndex = 243, WdfRegistryAssignUnicodeStringTableIndex = 244, WdfRegistryAssignStringTableIndex = 245, WdfRegistryAssignULongTableIndex = 246, WdfRequestCreateTableIndex = 247, WdfRequestCreateFromIrpTableIndex = 248, WdfRequestReuseTableIndex = 249, WdfRequestChangeTargetTableIndex = 250, WdfRequestFormatRequestUsingCurrentTypeTableIndex = 251, WdfRequestWdmFormatUsingStackLocationTableIndex = 252, WdfRequestSendTableIndex = 253, WdfRequestGetStatusTableIndex = 254, WdfRequestMarkCancelableTableIndex = 255, WdfRequestUnmarkCancelableTableIndex = 256, WdfRequestIsCanceledTableIndex = 257, WdfRequestCancelSentRequestTableIndex = 258, WdfRequestIsFrom32BitProcessTableIndex = 259, WdfRequestSetCompletionRoutineTableIndex = 260, WdfRequestGetCompletionParamsTableIndex = 261, WdfRequestAllocateTimerTableIndex = 262, WdfRequestCompleteTableIndex = 263, WdfRequestCompleteWithPriorityBoostTableIndex = 264, WdfRequestCompleteWithInformationTableIndex = 265, WdfRequestGetParametersTableIndex = 266, WdfRequestRetrieveInputMemoryTableIndex = 267, WdfRequestRetrieveOutputMemoryTableIndex = 268, WdfRequestRetrieveInputBufferTableIndex = 269, WdfRequestRetrieveOutputBufferTableIndex = 270, WdfRequestRetrieveInputWdmMdlTableIndex = 271, WdfRequestRetrieveOutputWdmMdlTableIndex = 272, WdfRequestRetrieveUnsafeUserInputBufferTableIndex = 273, WdfRequestRetrieveUnsafeUserOutputBufferTableIndex = 274, WdfRequestSetInformationTableIndex = 275, WdfRequestGetInformationTableIndex = 276, WdfRequestGetFileObjectTableIndex = 277, WdfRequestProbeAndLockUserBufferForReadTableIndex = 278, WdfRequestProbeAndLockUserBufferForWriteTableIndex = 279, WdfRequestGetRequestorModeTableIndex = 280, WdfRequestForwardToIoQueueTableIndex = 281, WdfRequestGetIoQueueTableIndex = 282, WdfRequestRequeueTableIndex = 283, WdfRequestStopAcknowledgeTableIndex = 284, WdfRequestWdmGetIrpTableIndex = 285, WdfIoResourceRequirementsListSetSlotNumberTableIndex = 286, WdfIoResourceRequirementsListSetInterfaceTypeTableIndex = 287, WdfIoResourceRequirementsListAppendIoResListTableIndex = 288, WdfIoResourceRequirementsListInsertIoResListTableIndex = 289, WdfIoResourceRequirementsListGetCountTableIndex = 290, WdfIoResourceRequirementsListGetIoResListTableIndex = 291, WdfIoResourceRequirementsListRemoveTableIndex = 292, WdfIoResourceRequirementsListRemoveByIoResListTableIndex = 293, WdfIoResourceListCreateTableIndex = 294, WdfIoResourceListAppendDescriptorTableIndex = 295, WdfIoResourceListInsertDescriptorTableIndex = 296, WdfIoResourceListUpdateDescriptorTableIndex = 297, WdfIoResourceListGetCountTableIndex = 298, WdfIoResourceListGetDescriptorTableIndex = 299, WdfIoResourceListRemoveTableIndex = 300, WdfIoResourceListRemoveByDescriptorTableIndex = 301, WdfCmResourceListAppendDescriptorTableIndex = 302, WdfCmResourceListInsertDescriptorTableIndex = 303, WdfCmResourceListGetCountTableIndex = 304, WdfCmResourceListGetDescriptorTableIndex = 305, WdfCmResourceListRemoveTableIndex = 306, WdfCmResourceListRemoveByDescriptorTableIndex = 307, WdfStringCreateTableIndex = 308, WdfStringGetUnicodeStringTableIndex = 309, WdfObjectAcquireLockTableIndex = 310, WdfObjectReleaseLockTableIndex = 311, WdfWaitLockCreateTableIndex = 312, WdfWaitLockAcquireTableIndex = 313, WdfWaitLockReleaseTableIndex = 314, WdfSpinLockCreateTableIndex = 315, WdfSpinLockAcquireTableIndex = 316, WdfSpinLockReleaseTableIndex = 317, WdfTimerCreateTableIndex = 318, WdfTimerStartTableIndex = 319, WdfTimerStopTableIndex = 320, WdfTimerGetParentObjectTableIndex = 321, WdfUsbTargetDeviceCreateTableIndex = 322, WdfUsbTargetDeviceRetrieveInformationTableIndex = 323, WdfUsbTargetDeviceGetDeviceDescriptorTableIndex = 324, WdfUsbTargetDeviceRetrieveConfigDescriptorTableIndex = 325, WdfUsbTargetDeviceQueryStringTableIndex = 326, WdfUsbTargetDeviceAllocAndQueryStringTableIndex = 327, WdfUsbTargetDeviceFormatRequestForStringTableIndex = 328, WdfUsbTargetDeviceGetNumInterfacesTableIndex = 329, WdfUsbTargetDeviceSelectConfigTableIndex = 330, WdfUsbTargetDeviceWdmGetConfigurationHandleTableIndex = 331, WdfUsbTargetDeviceRetrieveCurrentFrameNumberTableIndex = 332, WdfUsbTargetDeviceSendControlTransferSynchronouslyTableIndex = 333, WdfUsbTargetDeviceFormatRequestForControlTransferTableIndex = 334, WdfUsbTargetDeviceIsConnectedSynchronousTableIndex = 335, WdfUsbTargetDeviceResetPortSynchronouslyTableIndex = 336, WdfUsbTargetDeviceCyclePortSynchronouslyTableIndex = 337, WdfUsbTargetDeviceFormatRequestForCyclePortTableIndex = 338, WdfUsbTargetDeviceSendUrbSynchronouslyTableIndex = 339, WdfUsbTargetDeviceFormatRequestForUrbTableIndex = 340, WdfUsbTargetPipeGetInformationTableIndex = 341, WdfUsbTargetPipeIsInEndpointTableIndex = 342, WdfUsbTargetPipeIsOutEndpointTableIndex = 343, WdfUsbTargetPipeGetTypeTableIndex = 344, WdfUsbTargetPipeSetNoMaximumPacketSizeCheckTableIndex = 345, WdfUsbTargetPipeWriteSynchronouslyTableIndex = 346, WdfUsbTargetPipeFormatRequestForWriteTableIndex = 347, WdfUsbTargetPipeReadSynchronouslyTableIndex = 348, WdfUsbTargetPipeFormatRequestForReadTableIndex = 349, WdfUsbTargetPipeConfigContinuousReaderTableIndex = 350, WdfUsbTargetPipeAbortSynchronouslyTableIndex = 351, WdfUsbTargetPipeFormatRequestForAbortTableIndex = 352, WdfUsbTargetPipeResetSynchronouslyTableIndex = 353, WdfUsbTargetPipeFormatRequestForResetTableIndex = 354, WdfUsbTargetPipeSendUrbSynchronouslyTableIndex = 355, WdfUsbTargetPipeFormatRequestForUrbTableIndex = 356, WdfUsbInterfaceGetInterfaceNumberTableIndex = 357, WdfUsbInterfaceGetNumEndpointsTableIndex = 358, WdfUsbInterfaceGetDescriptorTableIndex = 359, WdfUsbInterfaceSelectSettingTableIndex = 360, WdfUsbInterfaceGetEndpointInformationTableIndex = 361, WdfUsbTargetDeviceGetInterfaceTableIndex = 362, WdfUsbInterfaceGetConfiguredSettingIndexTableIndex = 363, WdfUsbInterfaceGetNumConfiguredPipesTableIndex = 364, WdfUsbInterfaceGetConfiguredPipeTableIndex = 365, WdfUsbTargetPipeWdmGetPipeHandleTableIndex = 366, WdfVerifierDbgBreakPointTableIndex = 367, WdfVerifierKeBugCheckTableIndex = 368, WdfWmiProviderCreateTableIndex = 369, WdfWmiProviderGetDeviceTableIndex = 370, WdfWmiProviderIsEnabledTableIndex = 371, WdfWmiProviderGetTracingHandleTableIndex = 372, WdfWmiInstanceCreateTableIndex = 373, WdfWmiInstanceRegisterTableIndex = 374, WdfWmiInstanceDeregisterTableIndex = 375, WdfWmiInstanceGetDeviceTableIndex = 376, WdfWmiInstanceGetProviderTableIndex = 377, WdfWmiInstanceFireEventTableIndex = 378, WdfWorkItemCreateTableIndex = 379, WdfWorkItemEnqueueTableIndex = 380, WdfWorkItemGetParentObjectTableIndex = 381, WdfWorkItemFlushTableIndex = 382, WdfCommonBufferCreateWithConfigTableIndex = 383, WdfDmaEnablerGetFragmentLengthTableIndex = 384, WdfDmaEnablerWdmGetDmaAdapterTableIndex = 385, WdfUsbInterfaceGetNumSettingsTableIndex = 386, WdfDeviceRemoveDependentUsageDeviceObjectTableIndex = 387, WdfDeviceGetSystemPowerActionTableIndex = 388, WdfInterruptSetExtendedPolicyTableIndex = 389, WdfIoQueueAssignForwardProgressPolicyTableIndex = 390, WdfPdoInitAssignContainerIDTableIndex = 391, WdfPdoInitAllowForwardingRequestToParentTableIndex = 392, WdfRequestMarkCancelableExTableIndex = 393, WdfRequestIsReservedTableIndex = 394, WdfRequestForwardToParentDeviceIoQueueTableIndex = 395, WdfCxDeviceInitAllocateTableIndex = 396, WdfCxDeviceInitAssignWdmIrpPreprocessCallbackTableIndex = 397, WdfCxDeviceInitSetIoInCallerContextCallbackTableIndex = 398, WdfCxDeviceInitSetRequestAttributesTableIndex = 399, WdfCxDeviceInitSetFileObjectConfigTableIndex = 400, WdfDeviceWdmDispatchIrpTableIndex = 401, WdfDeviceWdmDispatchIrpToIoQueueTableIndex = 402, WdfDeviceInitSetRemoveLockOptionsTableIndex = 403, WdfDeviceConfigureWdmIrpDispatchCallbackTableIndex = 404, WdfDmaEnablerConfigureSystemProfileTableIndex = 405, WdfDmaTransactionInitializeUsingOffsetTableIndex = 406, WdfDmaTransactionGetTransferInfoTableIndex = 407, WdfDmaTransactionSetChannelConfigurationCallbackTableIndex = 408, WdfDmaTransactionSetTransferCompleteCallbackTableIndex = 409, WdfDmaTransactionSetImmediateExecutionTableIndex = 410, WdfDmaTransactionAllocateResourcesTableIndex = 411, WdfDmaTransactionSetDeviceAddressOffsetTableIndex = 412, WdfDmaTransactionFreeResourcesTableIndex = 413, WdfDmaTransactionCancelTableIndex = 414, WdfDmaTransactionWdmGetTransferContextTableIndex = 415, WdfInterruptQueueWorkItemForIsrTableIndex = 416, WdfInterruptTryToAcquireLockTableIndex = 417, WdfIoQueueStopAndPurgeTableIndex = 418, WdfIoQueueStopAndPurgeSynchronouslyTableIndex = 419, WdfIoTargetPurgeTableIndex = 420, WdfUsbTargetDeviceCreateWithParametersTableIndex = 421, WdfUsbTargetDeviceQueryUsbCapabilityTableIndex = 422, WdfUsbTargetDeviceCreateUrbTableIndex = 423, WdfUsbTargetDeviceCreateIsochUrbTableIndex = 424, WdfDeviceWdmAssignPowerFrameworkSettingsTableIndex = 425, WdfDmaTransactionStopSystemTransferTableIndex = 426, WdfCxVerifierKeBugCheckTableIndex = 427, WdfInterruptReportActiveTableIndex = 428, WdfInterruptReportInactiveTableIndex = 429, WdfDeviceInitSetReleaseHardwareOrderOnFailureTableIndex = 430, WdfGetTriageInfoTableIndex = 431, WdfDeviceInitSetIoTypeExTableIndex = 432, WdfDeviceQueryPropertyExTableIndex = 433, WdfDeviceAllocAndQueryPropertyExTableIndex = 434, WdfDeviceAssignPropertyTableIndex = 435, WdfFdoInitQueryPropertyExTableIndex = 436, WdfFdoInitAllocAndQueryPropertyExTableIndex = 437, WdfDeviceStopIdleActualTableIndex = 438, WdfDeviceResumeIdleActualTableIndex = 439, WdfDeviceGetSelfIoTargetTableIndex = 440, WdfDeviceInitAllowSelfIoTargetTableIndex = 441, WdfIoTargetSelfAssignDefaultIoQueueTableIndex = 442, WdfDeviceOpenDevicemapKeyTableIndex = 443, WdfDmaTransactionSetSingleTransferRequirementTableIndex = 444, WdfCxDeviceInitSetPnpPowerEventCallbacksTableIndex = 445, WdfFileObjectGetInitiatorProcessIdTableIndex = 446, WdfRequestGetRequestorProcessIdTableIndex = 447, WdfDeviceRetrieveCompanionTargetTableIndex = 448, WdfCompanionTargetSendTaskSynchronouslyTableIndex = 449, WdfCompanionTargetWdmGetCompanionProcessTableIndex = 450, WdfDriverOpenPersistentStateRegistryKeyTableIndex = 451, WdfDriverErrorReportApiMissingTableIndex = 452, WdfFunctionTableNumEntries = 453, } WDFFUNCENUM; typedef enum _WDFSTRUCTENUM { INDEX_WDF_CHILD_ADDRESS_DESCRIPTION_HEADER = 0, INDEX_WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER = 1, INDEX_WDF_CHILD_LIST_CONFIG = 2, INDEX_WDF_CHILD_LIST_ITERATOR = 3, INDEX_WDF_CHILD_RETRIEVE_INFO = 4, INDEX_WDF_CLASS_BIND_INFO = 5, INDEX_WDF_CLASS_BIND_INFO2 = 6, INDEX_WDF_CLASS_EXTENSION_DESCRIPTOR = 7, INDEX_WDF_CLASS_LIBRARY_INFO = 8, INDEX_WDF_CLASS_VERSION = 9, INDEX_WDF_COMMON_BUFFER_CONFIG = 10, INDEX_WDF_CUSTOM_TYPE_CONTEXT = 11, INDEX_WDF_DEVICE_PNP_CAPABILITIES = 12, INDEX_WDF_DEVICE_PNP_NOTIFICATION_DATA = 13, INDEX_WDF_DEVICE_POWER_CAPABILITIES = 14, INDEX_WDF_DEVICE_POWER_NOTIFICATION_DATA = 15, INDEX_WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS = 16, INDEX_WDF_DEVICE_POWER_POLICY_NOTIFICATION_DATA = 17, INDEX_WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS = 18, INDEX_WDF_DEVICE_PROPERTY_DATA = 19, INDEX_WDF_DEVICE_STATE = 20, INDEX_WDF_DMA_ENABLER_CONFIG = 21, INDEX_WDF_DMA_SYSTEM_PROFILE_CONFIG = 22, INDEX_WDF_DPC_CONFIG = 23, INDEX_WDF_DRIVER_CONFIG = 24, INDEX_WDF_DRIVER_GLOBALS = 25, INDEX_WDF_DRIVER_VERSION_AVAILABLE_PARAMS = 26, INDEX_WDF_FDO_EVENT_CALLBACKS = 27, INDEX_WDF_FILEOBJECT_CONFIG = 28, INDEX_WDF_INTERRUPT_CONFIG = 29, INDEX_WDF_INTERRUPT_EXTENDED_POLICY = 30, INDEX_WDF_INTERRUPT_INFO = 31, INDEX_WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY_SETTINGS = 32, INDEX_WDF_IO_QUEUE_CONFIG = 33, INDEX_WDF_IO_QUEUE_FORWARD_PROGRESS_POLICY = 34, INDEX_WDF_IO_TARGET_OPEN_PARAMS = 35, INDEX_WDF_IO_TYPE_CONFIG = 36, INDEX_WDF_MEMORY_DESCRIPTOR = 37, INDEX_WDF_OBJECT_ATTRIBUTES = 38, INDEX_WDF_OBJECT_CONTEXT_TYPE_INFO = 39, INDEX_WDF_PDO_EVENT_CALLBACKS = 40, INDEX_WDF_PNPPOWER_EVENT_CALLBACKS = 41, INDEX_WDF_POWER_FRAMEWORK_SETTINGS = 42, INDEX_WDF_POWER_POLICY_EVENT_CALLBACKS = 43, INDEX_WDF_POWER_ROUTINE_TIMED_OUT_DATA = 44, INDEX_WDF_QUERY_INTERFACE_CONFIG = 45, INDEX_WDF_QUEUE_FATAL_ERROR_DATA = 46, INDEX_WDF_REMOVE_LOCK_OPTIONS = 47, INDEX_WDF_REQUEST_COMPLETION_PARAMS = 48, INDEX_WDF_REQUEST_FATAL_ERROR_INFORMATION_LENGTH_MISMATCH_DATA = 49, INDEX_WDF_REQUEST_FORWARD_OPTIONS = 50, INDEX_WDF_REQUEST_PARAMETERS = 51, INDEX_WDF_REQUEST_REUSE_PARAMS = 52, INDEX_WDF_REQUEST_SEND_OPTIONS = 53, INDEX_WDF_TASK_SEND_OPTIONS = 54, INDEX_WDF_TIMER_CONFIG = 55, INDEX_WDF_TRIAGE_INFO = 56, INDEX_WDF_USB_CONTINUOUS_READER_CONFIG = 57, INDEX_WDF_USB_DEVICE_CREATE_CONFIG = 58, INDEX_WDF_USB_DEVICE_INFORMATION = 59, INDEX_WDF_USB_DEVICE_SELECT_CONFIG_PARAMS = 60, INDEX_WDF_USB_INTERFACE_SELECT_SETTING_PARAMS = 61, INDEX_WDF_USB_INTERFACE_SETTING_PAIR = 62, INDEX_WDF_USB_PIPE_INFORMATION = 63, INDEX_WDF_USB_REQUEST_COMPLETION_PARAMS = 64, INDEX_WDF_WMI_INSTANCE_CONFIG = 65, INDEX_WDF_WMI_PROVIDER_CONFIG = 66, INDEX_WDF_WORKITEM_CONFIG = 67, INDEX_WDFCONTEXT_TRIAGE_INFO = 68, INDEX_WDFCONTEXTTYPE_TRIAGE_INFO = 69, INDEX_WDFCX_FILEOBJECT_CONFIG = 70, INDEX_WDFCX_PNPPOWER_EVENT_CALLBACKS = 71, INDEX_WDFDEVICE_TRIAGE_INFO = 72, INDEX_WDFFWDPROGRESS_TRIAGE_INFO = 73, INDEX_WDFIRP_TRIAGE_INFO = 74, INDEX_WDFIRPQUEUE_TRIAGE_INFO = 75, INDEX_WDFMEMORY_OFFSET = 76, INDEX_WDFOBJECT_TRIAGE_INFO = 77, INDEX_WDFQUEUE_TRIAGE_INFO = 78, INDEX_WDFREQUEST_TRIAGE_INFO = 79, WDF_STRUCTURE_TABLE_NUM_ENTRIES = 80, } WDFSTRUCTENUM; #define Wdf_STRUCTURE_TABLE_NUM_ENTRIES WDF_STRUCTURE_TABLE_NUM_ENTRIES #endif // _WDFFUNCENUM_H_