GetInOutInfo method

Retrieves input or output information about the specified data object, and an optional pointer to it.


HRESULT retVal = object.GetInOutInfo(bIsOutput, ulIndex, pdwFlags, pIDs, pcIDs, ppUnkCurrentObject);


bIsOutput [in]

Type: BOOL

Flag that specifies whether the requested data is for an input or an output object. TRUE indicates that the requested information is for an output data object. FALSE indicates that the information is for an input data object.

ulIndex [in]

Type: unsigned long

Index of the data object as defined during the last call to the IDXTransform::Setup method.

pdwFlags [out]


Pointer to a member of the DXINOUTINFOFLAGS enumeration that specifies whether the input or output data object is required.


Specifies that the input or output data object is not required.

NULL (0)

Specifies that the input or output data object is required.

pIDs [out]

Type: GUID

Optional pointer to an array of globally unique identifiers (GUIDs) that is filled in by the transform. This specifies the desired data format—usually Interface Identifiers (IIDs)—in preferred order.

pcIDs [in, out]

Type: unsigned long

Pointer to the length of the pIDs array on entry and the number of returned GUIDs on exit. If the pIDs parameter is NULL, nothing is returned.

ppUnkCurrentObject [out]

Type: IUnknown

Optional address of a pointer to the IUnknown interface on the input or output object being enumerated.


This method enables you to determine the number and types of input and output for a transform from the transform itself. For any data objects currently associated with an input or output, you can also request a pointer to that object. This is optional, and can be NULL if the transform was not previously set up.