StorPortGetLogicalProcessorRelationship function (storport.h)

The StorPortGetLogicalProcessorRelationship routine gets information about the relationships of one or more processors to the other processors in a multiprocessor system. See KeQueryLogicalProcessorRelationship for additional details.

Syntax

ULONG StorPortGetLogicalProcessorRelationship(
  [in]           PVOID                                    HwDeviceExtension,
  [in, optional] PPROCESSOR_NUMBER                        ProcessorNumber,
  [in]           LOGICAL_PROCESSOR_RELATIONSHIP           RelationshipType,
  [out]          PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Information,
  [in, out]      PULONG                                   Length
);

Parameters

[in] HwDeviceExtension

A pointer to the hardware device extension for the host bus adapter (HBA).

[in, optional] ProcessorNumber

An optional pointer to a processor number for which relationships are to be returned. To request information about all logical processors in the system, set this parameter to NULL.

[in] RelationshipType

Indicates the type of relationship to be returned. See KeQueryLogicalProcessorRelationship for details.

[out] Information

A pointer to a caller-allocated buffer that receives an array of one or more SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX structures that contain the information requested by the caller. If the function fails, the contents of this buffer are undefined. Set Information to NULL to obtain the required buffer length before you allocate the buffer. See KeQueryLogicalProcessorRelationship for additional details.

[in, out] Length

A pointer to the size of the information buffer, in bytes. On entry, Length contains the size of the caller-allocated buffer that Information points to. On return, this value receives the number of bytes that are populated with relationship information.

Return value

The StorPortGetLogicalProcessorRelationshiproutine returns STOR_STATUS_SUCCESS if the call is successful. Possible error return values include the following.

Return code Description
STOR_STATUS_BUFFER_TOO_SMALL The supplied buffer is not large enough to hold the requested information.
STOR_STATUS_INVALID_PARAMETER One or more of the parameters are invalid; for example, ProcessNumber points to invalid information.
STOR_STATUS_NOT_IMPLEMENTED This function is not implemented on the active operating system.

Remarks

The information that is returned includes processor affinity masks that are composed of the logical processors in the host system. These logical processors share the specified relationship types.

See KeQueryLogicalProcessorRelationship for additional details.

Requirements

Requirement Value
Minimum supported client Windows 7
Target Platform Universal
Header storport.h (include Storport.h)
IRQL <=DISPATCH_LEVEL
DDI compliance rules StorPortIrql(storport)