Função RtlCmEncodeMemIoResource (wdm.h)

A rotina RtlCmEncodeMemIoResource atualiza uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR para descrever um intervalo de memória ou endereços de porta de E/S.

Sintaxe

NTSYSAPI NTSTATUS RtlCmEncodeMemIoResource(
  [in] PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
  [in] UCHAR                           Type,
  [in] ULONGLONG                       Length,
  [in] ULONGLONG                       Start
);

Parâmetros

[in] Descriptor

Um ponteiro para a estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR a ser atualizada.

[in] Type

O tipo de recurso da memória. Esse parâmetro pode ser CmResourceTypeMemory, CmResourceTypeMemoryLarge ou CmResourceTypePort.

[in] Length

O comprimento, em bytes, do intervalo de endereços alocados.

[in] Start

O endereço inicial do intervalo de memória ou endereços de porta de E/S.

Retornar valor

RtlCmEncodeMemIoResource retorna um valor NTSTATUS. Essa rotina pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_SUCCESS
A estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR foi atualizada.
STATUS_UNSUCCESSFUL
O valor especificado para Length não pode ser codificado em uma estrutura CM_PARTIAL_RESOURCE_DESCRIPTOR .
STATUS_INVALID_PARAMETER
Um ou mais dos parâmetros especificados são inválidos.

Comentários

Endereços com mais de 32 bits de comprimento devem atender a determinadas restrições de alinhamento ou então a rotina retorna STATUS_UNSUCCESSFUL.

Comprimento do endereço Restrição de alinhamento
40 bits Os 8 bits mais baixos devem ser zero.
48 bits Os 16 bits mais baixos devem ser zero.
64 bits Os 32 bits mais baixos devem ser zero.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

CM_PARTIAL_RESOURCE_DESCRIPTOR

RtlCmDecodeMemIoResource