Alineo

Hi,
I have many interfaces installed and active in my PC,
when I use TC APi for DSCP tagging, it works only with the default interface, but I want that it works with all my interface

This is a part of my code:

Code Snippet

long result = TcRegisterClient(CURRENT_TCI_VERSION, NULL, &QoSFunctions , &ClientHandle);

if (result == NO_ERROR) {

TC_IFC_DESCRIPTOR InterfaceBuffer[100];
PTC_IFC_DESCRIPTOR pInterfaceBuffer = &InterfaceBuffer[0];
ULONG BufferSize = 100* sizeof(TC_IFC_DESCRIPTOR);
result = TcEnumerateInterfaces(ClientHandle, &BufferSize,pInterfaceBuffer);
if (result == NO_ERROR) {
if (BufferSize == 0) {
printf("no traffic control interfaces are available\n");
}
TCHAR interfaceName[500];
WideCharToMultiByte(CP_ACP,0,InterfaceBuffer[0].pInterfaceName, -1,interfaceName, sizeof(interfaceName), 0, 0 );

result = TcOpenInterface( interfaceName, ClientHandle, NULL, &ifcHandle );

}

}

Did I miss something in my code
I hope someone could help me...
Thanks


Re: Network Quality of Service (QoS/qWAVE) Probleme with TC API

Gabe Frost [MSFT]

Hi Alineo,

You have to enumerate through all interfaces returned by TcEnumerateInterfaces. Your code only picks the first interface returned. If you iterate through all interfaces and use the same routine as you did for the first interface, this will solve your problem.