UID | title | description | old-location | tech.root | ms.date | keywords | ms.keywords | req.header | req.include-header | req.target-type | req.target-min-winverclnt | req.target-min-winversvr | req.kmdf-ver | req.umdf-ver | req.ddi-compliance | req.unicode-ansi | req.idl | req.max-support | req.namespace | req.assembly | req.type-library | req.lib | req.dll | req.irql | targetos | req.typenames | f1_keywords | topic_type | api_type | api_location | api_name | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NF:irb.AtaPortGetUnCachedExtension |
AtaPortGetUnCachedExtension function (irb.h) |
The AtaPortGetUncachedExtension routine allocates an uncached common buffer that is shared by the CPU and the device.Note The ATA port driver and ATA miniport driver models may be altered or unavailable in the future. |
storage\ataportgetuncachedextension.htm |
storage |
03/29/2018 |
|
AtaPortGetUnCachedExtension, AtaPortGetUnCachedExtension routine [Storage Devices], atartns_30b7c0f0-5636-4d81-b1de-13d8c413f4d6.xml, irb/AtaPortGetUnCachedExtension, storage.ataportgetuncachedextension |
irb.h |
Ata.h, Irb.h |
Desktop |
Ataport.lib; Pciidex.lib |
Windows |
|
|
|
|
|
The AtaPortGetUncachedExtension routine allocates an uncached common buffer that is shared by the CPU and the device.
A pointer to the channel extension.
Specifies the length, in bytes, of the uncached common buffer. Set this parameter to 0 if the miniport driver does not require an uncached extension.
Specifies the size, in bytes, that is required by the miniport driver for its per request storage, if any.
Set this parameter set to 0 if the miniport driver does not maintain per IRB information for which it requires storage.
AtaPortGetUncachedExtension returns a virtual address pointer to the uncached extension. If it cannot allocate the requested memory, or if the memory was previously allocated, it returns NULL.
The miniport driver can use IRB extensions as storage for driver-determined, request-specific information, such as data that is necessary to process a particular request.
The port driver does not initialize IRB extensions, but sets a pointer to an extension in each IRB that it sends to the miniport driver.
HBA hardware can safely access an IRB extension.
The miniport driver must not call AtaPortGetUncachedExtension from any routine other than its IdeHwControl routine, and only when it is processing a control action of StartChannel. Calls of AtaPortGetUncachedExtension from other miniport driver routines result in incorrect operation or even system failure. The port driver automatically frees the uncached extension after it invokes IdeHwControl with the StopChannel control action.