KMDF Functions that Return NSTATUS Codes
Following is a list of KMDF DDIs that return NTSTATUS codes. Any of these DDIs could be failed except the following two: WdfRequestReuse and WdfWaitLockAcquire.
WdfChildListAddOrUpdateChildDescriptionAsPresent
WdfChildListCreate
WdfChildListRetrieveAddressDescription
WdfChildListRetrieveNextDevice
WdfChildListUpdateChildDescriptionAsMissing
WdfCmResourceListAppendDescriptor
WdfCmResourceListInsertDescriptor
WdfCollectionAdd
WdfCollectionCreate
WdfCommonBufferCreate
WdfCommonBufferCreateWithConfig
WdfDeviceAddDependentUsageDeviceObject
WdfDeviceAddQueryInterface
WdfDeviceAddRemovalRelationsPhysicalDevice
WdfDeviceAllocAndQueryProperty
WdfDeviceAssignMofResourceName
WdfDeviceAssignS0IdleSettings
WdfDeviceAssignSxWakeSettings
WdfDeviceConfigureRequestDispatching
WdfDeviceCreate
WdfDeviceCreateDeviceInterface
WdfDeviceCreateSymbolicLink
WdfDeviceEnqueueRequest
WdfDeviceIndicateWakeStatus
WdfDeviceInitAssignName
WdfDeviceInitAssignSDDLString
WdfDeviceInitAssignWdmIrpPreprocessCallback
WdfDeviceInitRegisterPnpStateChangeCallback
WdfDeviceInitRegisterPowerPolicyStateChangeCallback
WdfDeviceInitRegisterPowerStateChangeCallback
WdfDeviceMiniportCreate
WdfDeviceOpenRegistryKey
WdfDeviceQueryProperty
WdfDeviceRetrieveDeviceInterfaceString
WdfDeviceRetrieveDeviceName
WdfDeviceStopIdle
WdfDeviceWdmDispatchPreprocessedIrp
WdfDmaEnablerCreate
WdfDmaTransactionCreate
WdfDmaTransactionExecute
WdfDmaTransactionInitialize
WdfDmaTransactionInitializeUsingRequest
WdfDmaTransactionRelease
WdfDpcCreate
WdfDriverCreate
WdfDriverOpenParametersRegistryKey
WdfDriverRegisterTraceInfo
WdfDriverRetrieveVersionString
WdfFdoAddStaticChild
WdfFdoInitAllocAndQueryProperty
WdfFdoInitOpenRegistryKey
WdfFdoInitQueryProperty
WdfFdoQueryForInterface
WdfInterruptCreate
WdfIoQueueCreate
WdfIoQueueFindRequest
WdfIoQueueReadyNotify
WdfIoQueueRetrieveFoundRequest
WdfIoQueueRetrieveNextRequest
WdfIoQueueRetrieveRequestByFileObject
WdfIoResourceListAppendDescriptor
WdfIoResourceListCreate
WdfIoResourceListInsertDescriptor
WdfIoResourceRequirementsListAppendIoResList
WdfIoResourceRequirementsListInsertIoResList
WdfIoTargetAllocAndQueryTargetProperty
WdfIoTargetCreate
WdfIoTargetFormatRequestForInternalIoctl
WdfIoTargetFormatRequestForInternalIoctlOthers
WdfIoTargetFormatRequestForIoctl
WdfIoTargetFormatRequestForRead
WdfIoTargetFormatRequestForWrite
WdfIoTargetOpen
WdfIoTargetQueryForInterface
WdfIoTargetQueryTargetProperty
WdfIoTargetSendInternalIoctlOthersSynchronously
WdfIoTargetSendInternalIoctlSynchronously
WdfIoTargetSendIoctlSynchronously
WdfIoTargetSendReadSynchronously
WdfIoTargetSendWriteSynchronously
WdfIoTargetStart
WdfLookasideListCreate
WdfMemoryAssignBuffer
WdfMemoryCopyFromBuffer
WdfMemoryCopyToBuffer
WdfMemoryCreate
WdfMemoryCreateFromLookaside
WdfMemoryCreatePreallocated
WdfObjectAllocateContext
WdfObjectCreate
WdfObjectQuery
WdfPdoAddEjectionRelationsPhysicalDevice
WdfPdoInitAddCompatibleID
WdfPdoInitAddDeviceText
WdfPdoInitAddHardwareID
WdfPdoInitAssignDeviceID
WdfPdoInitAssignInstanceID
WdfPdoInitAssignRawDevice
WdfPdoMarkMissing
WdfPdoRetrieveAddressDescription
WdfPdoRetrieveIdentificationDescription
WdfPdoUpdateAddressDescription
WdfRegistryAssignMemory
WdfRegistryAssignMultiString
WdfRegistryAssignString
WdfRegistryAssignULong
WdfRegistryAssignUnicodeString
WdfRegistryAssignValue
WdfRegistryCreateKey
WdfRegistryOpenKey
WdfRegistryQueryMemory
WdfRegistryQueryMultiString
WdfRegistryQueryString
WdfRegistryQueryULong
WdfRegistryQueryUnicodeString
WdfRegistryQueryValue
WdfRegistryRemoveKey
WdfRegistryRemoveValue
WdfRequestAllocateTimer
WdfRequestChangeTarget
WdfRequestCreate
WdfRequestCreateFromIrp
WdfRequestForwardToIoQueue
WdfRequestGetStatus
WdfRequestProbeAndLockUserBufferForRead
WdfRequestProbeAndLockUserBufferForWrite
WdfRequestRequeue
WdfRequestRetrieveInputBuffer
WdfRequestRetrieveInputMemory
WdfRequestRetrieveInputWdmMdl
WdfRequestRetrieveOutputBuffer
WdfRequestRetrieveOutputMemory
WdfRequestRetrieveOutputWdmMdl
WdfRequestRetrieveUnsafeUserInputBuffer
WdfRequestRetrieveUnsafeUserOutputBuffer
WdfRequestReuse
WdfRequestUnmarkCancelable
WdfSpinLockCreate
WdfStringCreate
WdfTimerCreate
WdfUsbInterfaceSelectSetting
WdfUsbTargetDeviceAllocAndQueryString
WdfUsbTargetDeviceCreate
WdfUsbTargetDeviceCyclePortSynchronously
WdfUsbTargetDeviceFormatRequestForControlTransfer
WdfUsbTargetDeviceFormatRequestForCyclePort
WdfUsbTargetDeviceFormatRequestForString
WdfUsbTargetDeviceFormatRequestForUrb
WdfUsbTargetDeviceIsConnectedSynchronous
WdfUsbTargetDeviceQueryString
WdfUsbTargetDeviceResetPortSynchronously
WdfUsbTargetDeviceRetrieveConfigDescriptor
WdfUsbTargetDeviceRetrieveCurrentFrameNumber
WdfUsbTargetDeviceRetrieveInformation
WdfUsbTargetDeviceSelectConfig
WdfUsbTargetDeviceSendControlTransferSynchronously
WdfUsbTargetDeviceSendUrbSynchronously
WdfUsbTargetPipeAbortSynchronously
WdfUsbTargetPipeConfigContinuousReader
WdfUsbTargetPipeFormatRequestForAbort
WdfUsbTargetPipeFormatRequestForRead
WdfUsbTargetPipeFormatRequestForReset
WdfUsbTargetPipeFormatRequestForUrb
WdfUsbTargetPipeFormatRequestForWrite
WdfUsbTargetPipeReadSynchronously
WdfUsbTargetPipeResetSynchronously
WdfUsbTargetPipeSendUrbSynchronously
WdfUsbTargetPipeWriteSynchronously
WdfWaitLockAcquire
WdfWaitLockCreate
WdfWmiInstanceCreate
WdfWmiInstanceFireEvent
WdfWmiInstanceRegister
WdfWmiProviderCreate
WdfWorkItemCreate