I/O Manager Routines

WHQL restricts all NDIS drivers from calling the following I/O manager routines:

Restricted routine Error message

IoAllocateDriverObjectExtension

Do not use this call.

IoAttachDevice

Do not use this call.

IoAttachDeviceToDeviceStack

Do not use this call.

IoConnectInterrupt

Use NdisMRegisterInterruptinstead.

IoCreateDevice

Miniport and intermediate drivers should use NdisMRegisterDeviceinstead.

IoCreateSymbolicLink

Do not use this call.

IoCreateUnprotectedSymbolicLink

Do not use this call.

IoDeleteDevice

Do not use this call.

IoDeleteSymbolicLink

Do not use this call.

IoDetachDevice

Do not use this call.

IoDisconnectInterrupt

Use NdisMDeregisterInterrupt, NdisRemoveInterruptinstead.

IoGetAttachedDeviceReference

Do not use this call.

IoGetDmaAdapter

Do not use this call.

IoGetDriverObjectExtension

Do not use this call.

IoInvalidateDeviceRelations

Do not use this call.

IoInvalidateDeviceState

Do not use this call.

IoRegisterDeviceInterface

Do not use this call.

IoRegisterShutdownNotification

Use NdisMRegisterAdapterShutdownHandlerinstead.

IoReportTargetDeviceChange

Do not use this call.

IoSetDeviceInterfaceState

Do not use this call.

IoUnregisterShutdownNotification

Use NdisMDeregisterAdapterShutdownHandlerinstead.

IoWMIAllocateInstanceIds

Do not use this call.

IoWMIDeviceObjectToProviderId

Do not use this call.

IoWMISuggestInstanceName

Do not use this call.

IoWMIWriteEvent

Use NdisMIndicateStatusinstead.

 

 

 

Send comments about this topic to Microsoft