PCMCIA_MODIFY_MEMORY_WINDOW回调函数 (ntddpcm.h)

PCMCIA_MODIFY_MEMORY_WINDOW 接口例程为 PCMCIA 内存卡设置内存窗口的属性。 内存窗口由 PCMCIA 总线驱动程序映射。

语法

PCMCIA_MODIFY_MEMORY_WINDOW PcmciaModifyMemoryWindow;

BOOLEAN PcmciaModifyMemoryWindow(
  [in, optional] PVOID Context,
  [in]           ULONGLONG HostBase,
  [in]           ULONGLONG CardBase,
  [in]           BOOLEAN Enable,
  [in, optional] ULONG WindowSize,
  [in, optional] UCHAR AccessSpeed,
  [in, optional] UCHAR BusWidth,
  [in, optional] BOOLEAN IsAttributeMemory
)
{...}

参数

[in, optional] Context

指向接口例程的上下文的指针。

[in] HostBase

指定要映射的物理内存窗口。 HostBase 是系统物理地址空间中内存卡的基址。

[in] CardBase

指定电脑卡或 CardBus 卡内存映射开始位置的字节偏移量。

[in] Enable

指定访问内存窗口的权限。 如果 EnableTRUE,则允许内存访问,否则不允许内存访问。

[in, optional] WindowSize

指定所映射的内存窗口的大小(以字节为单位)。 WindowSize 的值不能超过在其分配的资源中授予驱动程序的内存时段。 如果 Enable 的值为 TRUE 且 WindowSize 的值为零,则使用在其分配的资源中授予驱动程序的内存窗口的大小。 如果 EnableFALSE,则不使用 WindowSize

[in, optional] AccessSpeed

指定 PC 卡或 CardBus 卡的访问速度。 AccessSpeed 的值按 PC 卡标准版本 6.1 指定进行编码。 如果 Enable 为 FALSE,则不使用 AccessSpeed

[in, optional] BusWidth

指定 PCMCIA 内存卡总线访问的宽度。 BusWidth 必须是以下值之一:

  • PCMCIA_MEMORY_8BIT_ACCESS:如果 EnableFALSE,则不使用 BusWidth
  • PCMCIA_MEMORY_16BIT_ACCESS

[in, optional] IsAttributeMemory

对于公共内存,必须为 FALSE ,对于属性内存必须为 TRUE

返回值

如果成功启用或禁用内存窗口(由 Enable 参数指定),PCMCIA_MODIFY_MEMORY_WINDOW接口例程将返回 TRUE

注解

调用方必须将 Context 参数设置为由 PCMCIA 总线驱动程序指定的上下文。 PCMCIA 总线驱动程序在包含指向接口例程的指针的同一PCMCIA_INTERFACE_STANDARD结构的 Context 成员中返回接口例程的上下文。 如果 Context 参数无效,则系统行为未定义,系统可能会停止。

此例程的调用方必须在 IRQL <= DISPATCH_LEVEL 运行。 为了保持整体系统性能,建议驱动程序在 IRQL < DISPATCH_LEVEL调用此例程。

要求

要求
目标平台 桌面
标头 ntddpcm.h (包括 Ntddpcm.h)
IRQL <=DISPATCH_LEVEL (请参阅备注部分。)

另请参阅