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
指定访问内存窗口的权限。 如果 Enable 为 TRUE,则允许内存访问,否则不允许内存访问。
[in, optional] WindowSize
指定所映射的内存窗口的大小(以字节为单位)。 WindowSize 的值不能超过在其分配的资源中授予驱动程序的内存时段。 如果 Enable 的值为 TRUE 且 WindowSize 的值为零,则使用在其分配的资源中授予驱动程序的内存窗口的大小。 如果 Enable 为 FALSE,则不使用 WindowSize 。
[in, optional] AccessSpeed
指定 PC 卡或 CardBus 卡的访问速度。 AccessSpeed 的值按 PC 卡标准版本 6.1 指定进行编码。 如果 Enable 为 FALSE,则不使用 AccessSpeed 。
[in, optional] BusWidth
指定 PCMCIA 内存卡总线访问的宽度。 BusWidth 必须是以下值之一:
- PCMCIA_MEMORY_8BIT_ACCESS:如果 Enable 为 FALSE,则不使用 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 (请参阅备注部分。) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈