Microsoft KB Archive/244665

{|
 * width="100%"|

DOC: PCISetPhysicalCacheTypeRange Parameters and Return Values

 * }

Q244665

-

The information in this article applies to:


 * Microsoft Windows 98 Driver Development Kit (DDK)

-

SUMMARY
The Windows 98 DDK incorrectly documents the use of the PCISetPhysicalCacheTypeRange function. Peripheral Component Interconnect (PCI) miniports use this function to mark memory ranges with particular attributes, such as cached or noncached.

Although the DDK correctly lists the third parameter as type MEMORY_CACHING_TYPE, the list of possible values is incorrect. The correct values for parameters of type MEMORY_CACHING_TYPE can be found in the Wdm.h file.

The DDK also incorrectly documents the return values. The return value for the PCISetPhysicalCacheTypeRange function is actually of type NTSTATUS, as defined in the Ntstatus.h file. A return value of STATUS_SUCCESS indicates that the service succeeded.

The corrected documentation for the PCISetPhysicalCacheTypeRange function is shown in the "More Information" section of this article.

PCISetPhysicalCacheTypeRange
The PCISetPhysicalCacheTypeRange function marks a range of memory with the specified attributes:

ULONG PCISetPhysicalCacheTypeRange( PVOID pPhysAddress,   ULONG ulNumBytes,   MEMORY_CACHING_TYPE ulCacheType );

Parameters
pPhysAddress

Specifies the start of the memory block.

ulNumBytes

Specifies the number of bytes in the block.

ulCacheType

Specifies the memory caching type, and can be a combination of the following values as listed in the Wdm.h file:


 * MmNonCached
 * MmCached
 * MmWriteCombined
 * MmFrameBufferCached
 * MmHardwareCoherentCached

Note that the MmHardwareCoherentCached value is not supported in Microsoft Windows 98.

Return Values
Returns STATUS_SUCCESS if successful.