UmdfService=UMDFSkeleton,UMDFSkeleton_InstallEach UMDF-specific directive in the WDF-specific DDInstall section is described on this page. UMDF-specific directives begin with the UMDF prefix, and KMDF-specific directives begin with the KMDF prefix.The following code example shows UMDF-specific directives in a WDF-specific DDInstall section. Each WDF-specific DDInstall section:Corresponds to the DDInstall and DDInstall.Services sections that are associated with a particular WDF driver.Is processed by all the loaded WDF co-installers, which run in arbitrary order.Contains WDF installation directives for a device. The INF file can contain more than one WDF-specific DDInstall section if the INF file installs more than one WDF driver.
![]() Kernel Mode Framework 1.11 Serial Bus ConnectionsIf you don't specify it, the driver does not have the access rights to use these resources, with one exception:If the device is assigned one or more connection resources ( CmResourceTypeConnection) and one or more interrupt resources ( CmResourceTypeInterrupt), the driver can call WdfInterruptCreate from its EvtDevicePrepareHardware callback routine (but not from EvtDriverDeviceAdd).For information about connecting a UMDF driver to particular types of resources, see: Your driver receives all of these resources through the ResourcesRaw and ResourcesTranslated parameters of its EvtDevicePrepareHardware callback function.Starting with UMDF version 2.15, a UMDF driver does not need to specify AllowDirectHardwareAccess in order to receive hardware resource lists in its EvtDevicePrepareHardware callback routine. UmdfDirectHardwareAccessIndicates whether the framework should allow the driver to use any of the direct hardware access features, such as accessing device registers and ports, scanning hardware resources assigned to the device, handling hardware interrupts, or acquiring connection resources.If UmdfDirectHardwareAccess is set to AllowDirectHardwareAccess, the framework allows the driver to use UMDF interfaces that perform direct hardware access.You must specify AllowDirectHardwareAccess if your UMDF driver accesses hardware resources such as registers or ports, interrupts, general-purpose I/O (GPIO) pins, or serial bus connections such as I2C, SPI, and serial port. This directive is device-specific rather than driver-specific.For more information about device pooling, see Using Device Pooling in UMDF Drivers. The default is ProcessSharingEnabled. UmdfHostProcessSharingThis directive is supported in UMDF versions 1.11 and later.Determines whether a device stack is placed into a shared process pool ( ProcessSharingEnabled) or its own individual process ( ProcessSharingDisabled).The default value is RejectDirectHardwareAccess.For information about how a UMDF driver accesses hardware resources, see Finding and Mapping Hardware Resources. Connecting a UMDF Peripheral Driver to a Serial PortIf UmdfDirectHardwareAccess is set to RejectDirectHardwareAccess, the framework does not allow drivers to use any direct hardware access features. Connection IDs for SPB-Connected Peripheral Devices![]() ![]() The default value is RegisterAccessUsingSystemCall. UmdfRegisterAccessModeIndicates whether the framework should map the registers into user-mode address space (so that a system call is not involved in accessing registers), or use a system call to access registers.If UmdfRegisterAccessMode is set to RegisterAccessUsingSystemCall, the framework uses a system call to access registers.If UmdfRegisterAccessMode is set to RegisterAccessUsingUserModeMapping, the framework maps the registers into user-mode address space so that a system call is not needed to access registers. For more information about device pooling, see Using Device Pooling in UMDF Drivers. Because the additional device pool uses more memory, you should use this setting with caution. When a driver specifies PriorityHigh, the system puts it in a separate device pool along with other drivers of similar priority. This directive should only be used for touch or input drivers that are sensitive to user response time. That is, the UmdfServiceOrder directive cannot be imported by using the Include and Needs directives. Because the UMDF drivers are added to the device stack in the order that they are listed, the first parameter specifies the lowest UMDF driver in the device stack.To ensure that a UMDF co-installer installs the device, only one UmdfServiceOrder directive must be present in any given WDF-specific DDInstall section. The serviceNameXx parameters correspond to the serviceName parameters for each UmdfService directive. Even if the co-installer installs only one UMDF driver on the device stack, the INF file must contain this directive. The possible values for this directive are:These values correspond to the values that are specified in the SECURITY_IMPERSONATION_LEVEL enumeration. However, the driver cannot call the IWDFIoRequest::Impersonate method to request an impersonation level that is greater than the level that UmdfImpersonationLevel specifies. When an application opens a file handle, the application can grant a greater impersonation level to the driver. A UmdfImpersonationLevel directive is optional if an impersonation level is not specified, the default is Identification. Red alert yuri revenge mod world powers downloadUmdfDispatcherInforms the framework where to send I/O after the I/O goes through the user-mode portion of the device stack. If the directive is not specified, the default value is Reject.For more information about supporting the METHOD_NEITHER buffer access method in UMDF-based drivers, see Using Neither Buffered I/O nor Direct I/O in UMDF Drivers. A UmdfMethodNeitherAction directive is optional. Paint accessory for macIf the driver uses UMDF 2.15 or later and uses USB I/O targets, set this directive to NativeUSB. If any driver in the stack uses a file-handle-based target, set this directive to FileHandle. Starting in UMDF 2.15, specifying NativeUSB causes the reflector to handle USB I/O. By setting UmdfDispatcher to WinUsb, the driver instructs UMDF to send I/O to the WinUsb architecture. UmdfFileObjectPolicyIndicates whether the framework should allow processing of I/O requests ( IWDFIoRequest) that are either not associated with a file object ( IWDFFile) or are associated with an unknown file object (a file object for which a driver has not previously seen a create request). For more information, see Supporting Kernel-mode Clients. If a driver's INF file does not contain this directive, the default value is RejectKernelModeClients. This directive is supported in UMDF versions 1.9 and later.To allow kernel-mode drivers to load above a user-mode driver in earlier UMDF versions, see Kernel-mode Client Support in Earlier UMDF Versions.Indicates whether the framework should allow the driver to receive I/O requests from kernel-mode drivers.If UmdfKernelModeClientPolicy is set to AllowKernelModeClients, the framework allows kernel-mode drivers to load above a user-mode driver, and it delivers I/O requests from kernel-mode drivers to the user-mode driver.If UmdfKernelModeClientPolicy is set to RejectKernelModeClients, the framework does not allow kernel-mode drivers to load above a user-mode driver, and it does not deliver I/O requests from any kernel-mode drivers to the user-mode driver.
0 Comments
Leave a Reply. |
AuthorGreg ArchivesCategories |