RtlCmDecodeMemIoResource - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

// rev
/**
 * RtlCmDecodeMemIoResource contract.
 *
 * \param ResourceDescriptor Read-only resource descriptor.
 * \param Start Optional output for the stored start address.
 * \remarks Returns decoded resource length and optionally copies the descriptor Start field. This does not translate a bus address. The descriptor is read-only; provide a valid CM_PARTIAL_RESOURCE_DESCRIPTOR with the appropriate type/large-memory flags, not an arbitrary buffer.
 */
NTSYSAPI
ULONGLONG
NTAPI
RtlCmDecodeMemIoResource(
    _In_ const CM_PARTIAL_RESOURCE_DESCRIPTOR *ResourceDescriptor,
    _Out_opt_ PULONGLONG Start
    );

#endif

View code on GitHub
// wdm.h

NTSYSAPI ULONGLONG RtlCmDecodeMemIoResource(
  [in]            PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
  [out, optional] PULONGLONG                      Start
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-wdm-rtlcmdecodememioresource)

RtlCmDecodeMemIoResource function

Description

The RtlCmDecodeMemIoResource routine provides the starting address and length of a CM_PARTIAL_RESOURCE_DESCRIPTOR structure that describes a range of memory or I/O port addresses.

Parameters

Descriptor [in]

A pointer to the CM_PARTIAL_RESOURCE_DESCRIPTOR structure to provide the starting address and length for.

Start [out, optional]

A pointer to a variable that receives the starting address of the range of memory or I/O port addresses.

Return value

RtlCmDecodeMemIoResource returns the length of the address range, in bytes.

Remarks

The Type member of the CM_PARTIAL_RESOURCE_DESCRIPTOR structure must be CmResourceTypeMemory, CmResourceTypeMemoryLarge, or CmResourceTypePort.

See also

CM_PARTIAL_RESOURCE_DESCRIPTOR

RtlCmEncodeMemIoResource