RtlCmEncodeMemIoResource 関数 (wdm.h)
RtlCmEncodeMemIoResource ルーチンは、メモリまたは I/O ポート アドレスの範囲を記述するために、CM_PARTIAL_RESOURCE_DESCRIPTOR構造体を更新します。
構文
NTSYSAPI NTSTATUS RtlCmEncodeMemIoResource(
[in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
[in] UCHAR Type,
[in] ULONGLONG Length,
[in] ULONGLONG Start
);
パラメーター
[in] Descriptor
更新する CM_PARTIAL_RESOURCE_DESCRIPTOR 構造体へのポインター。
[in] Type
メモリのリソースの種類。 このパラメーターには、 CmResourceTypeMemory、 CmResourceTypeMemoryLarge、または CmResourceTypePort を指定できます。
[in] Length
割り当てられたアドレスの範囲の長さ (バイト単位)。
[in] Start
メモリまたは I/O ポート アドレスの範囲の開始アドレス。
戻り値
RtlCmEncodeMemIoResource は NTSTATUS 値を返します。 このルーチンは、次のいずれかの値を返す場合があります。
リターン コード | 説明 |
---|---|
|
CM_PARTIAL_RESOURCE_DESCRIPTOR構造体が更新されました。 |
|
Length に指定された値は、CM_PARTIAL_RESOURCE_DESCRIPTOR構造体でエンコードできません。 |
|
指定された 1 つ以上のパラメーターが無効です。 |
注釈
長さが 32 ビットを超えるアドレスは、特定のアラインメント制限を満たす必要があります。それ以外の場合、ルーチンは STATUS_UNSUCCESSFULを返します。
アドレスの長さ | 配置の制限 |
---|---|
40 ビット | 最低 8 ビットは 0 である必要があります。 |
48 ビット | 最低 16 ビットは 0 である必要があります。 |
64 ビット | 最小 32 ビットは 0 である必要があります。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | 任意のレベル |