Skip to content

Latest commit

 

History

History
89 lines (65 loc) · 3.64 KB

nf-irb-ataportgetuncachedextension.md

File metadata and controls

89 lines (65 loc) · 3.64 KB
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 function
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
AtaPortGetUnCachedExtension
irb/AtaPortGetUnCachedExtension
APIRef
kbSyntax
LibDef
ataport.lib
ataport.dll
pciidex.lib
pciidex.dll
AtaPortGetUnCachedExtension

AtaPortGetUnCachedExtension function

-description

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. Instead, we recommend using the Storport driver and Storport miniport driver models.
 

-parameters

-param ChannelExtension [in]

A pointer to the channel extension.

-param UncachedExtensionSize [in]

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.

-param IrbExtensionSize [in]

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.

-returns

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.

-remarks

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.

-see-also

IdeHwControl