in XInput_Scp/pnp.cpp [659:752]
VOID CloseHidDevice(IN PHID_DEVICE HidDevice)
{
if (HidDevice->DevicePath != NULL)
{
free(HidDevice->DevicePath);
HidDevice->DevicePath = NULL;
}
if (HidDevice->HidDevice != INVALID_HANDLE_VALUE)
{
CloseHandle(HidDevice->HidDevice);
HidDevice->HidDevice = INVALID_HANDLE_VALUE;
}
if (HidDevice->Ppd != NULL)
{
HidD_FreePreparsedData(HidDevice->Ppd);
HidDevice->Ppd = NULL;
}
if (HidDevice->InputReportBuffer != NULL)
{
free(HidDevice->InputReportBuffer);
HidDevice->InputReportBuffer = NULL;
}
if (HidDevice->InputData != NULL)
{
free(HidDevice->InputData);
HidDevice->InputData = NULL;
}
if (HidDevice->InputButtonCaps != NULL)
{
free(HidDevice->InputButtonCaps);
HidDevice->InputButtonCaps = NULL;
}
if (HidDevice->InputValueCaps != NULL)
{
free(HidDevice->InputValueCaps);
HidDevice->InputValueCaps = NULL;
}
if (HidDevice->OutputReportBuffer != NULL)
{
free(HidDevice->OutputReportBuffer);
HidDevice->OutputReportBuffer = NULL;
}
if (HidDevice->OutputData != NULL)
{
free(HidDevice->OutputData);
HidDevice->OutputData = NULL;
}
if (HidDevice->OutputButtonCaps != NULL)
{
free(HidDevice->OutputButtonCaps);
HidDevice->OutputButtonCaps = NULL;
}
if (HidDevice->OutputValueCaps != NULL)
{
free(HidDevice->OutputValueCaps);
HidDevice->OutputValueCaps = NULL;
}
if (HidDevice->FeatureReportBuffer != NULL)
{
free(HidDevice->FeatureReportBuffer);
HidDevice->FeatureReportBuffer = NULL;
}
if (HidDevice->FeatureData != NULL)
{
free(HidDevice->FeatureData);
HidDevice->FeatureData = NULL;
}
if (HidDevice->FeatureButtonCaps != NULL)
{
free(HidDevice->FeatureButtonCaps);
HidDevice->FeatureButtonCaps = NULL;
}
if (HidDevice->FeatureValueCaps != NULL)
{
free(HidDevice->FeatureValueCaps);
HidDevice->FeatureValueCaps = NULL;
}
return;
}