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
メモリ マッピングが開始される PC カードまたは CardBus カードのメモリ内のバイト オフセットを指定します。
[in] Enable
メモリ ウィンドウにアクセスするためのアクセス許可を指定します。 Enable がTRUE の場合、メモリ アクセスは許可され、それ以外の場合はメモリ アクセスは許可されません。
[in, optional] WindowSize
マップされるメモリ ウィンドウのサイズをバイト単位で指定します。 WindowSize の値は、割り当てられたリソースのドライバーに付与されたメモリ ウィンドウを超えることはできません。 Enable の値が TRUE で 、WindowSize の値が 0 の場合、割り当てられたリソースのドライバーに付与されるメモリ ウィンドウのサイズが使用されます。 Enable が FALSE の場合、WindowSize は使用されません。
[in, optional] AccessSpeed
PC カードまたは CardBus カードのアクセス速度を指定します。 AccessSpeed の値は、PC カード標準リリース 6.1 で指定されたとおりにエンコードされます。 [有効にする] が FALSE の場合、 AccessSpeed は使用されません。
[in, optional] BusWidth
PCMCIA メモリ カードへのバス アクセスの幅を指定します。 BusWidth は、次のいずれかの値である必要があります。
- PCMCIA_MEMORY_8BIT_ACCESS: Enable が FALSE の場合、 BusWidth は使用されません。
- PCMCIA_MEMORY_16BIT_ACCESS
[in, optional] IsAttributeMemory
共通メモリの 場合は FALSE 、属性メモリの場合 は TRUE にする必要があります。
戻り値
PCMCIA_MODIFY_MEMORY_WINDOW インターフェイス ルーチンは、Enable パラメーターで指定されたメモリ ウィンドウが正常に有効または無効になっている場合に TRUEを返します。
注釈
呼び出し元は、 CONTEXT パラメーターを PCMCIA バス ドライバーによって指定されたコンテキストに設定する必要があります。 PCMCIA バス ドライバーは、インターフェイス ルーチンへのポインターを含む同じPCMCIA_INTERFACE_STANDARD構造体の Context メンバー内のインターフェイス ルーチンのコンテキストを返します。 Context パラメーターが無効な場合、システムの動作が定義されていないため、システムが停止する可能性があります。
このルーチンの呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 システムの全体的なパフォーマンスを維持するために、ドライバーは IRQL < DISPATCH_LEVELでこのルーチンを呼び出することをお勧めします。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddpcm.h (Ntddpcm.h を含む) |
IRQL | <=DISPATCH_LEVEL (「解説」セクションを参照)。 |