本文整理汇总了C++中DevicePtr::GetConfigDescriptor方法的典型用法代码示例。如果您正苦于以下问题:C++ DevicePtr::GetConfigDescriptor方法的具体用法?C++ DevicePtr::GetConfigDescriptor怎么用?C++ DevicePtr::GetConfigDescriptor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DevicePtr
的用法示例。
在下文中一共展示了DevicePtr::GetConfigDescriptor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetConfigDescriptor
BOOL OpenContext::GetConfigDescriptor(LPUKWD_GET_CONFIG_DESC_INFO lpConfigInfo, LPDWORD lpSize)
{
MutexLocker lock(mMutex);
DevicePtr dev (mDevice->GetDeviceList(), lpConfigInfo->lpDevice);
if (!Validate(dev)) {
SetLastError(ERROR_INVALID_HANDLE);
return FALSE;
}
UserBuffer<LPVOID> descriptorBuf(UBA_WRITE, lpConfigInfo->lpDescriptorBuffer, lpConfigInfo->dwDescriptorBufferSize);
if (!descriptorBuf.Valid()) {
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
return FALSE;
}
BOOL status = FALSE;
if (lpConfigInfo->dwConfigIndex == UKWD_ACTIVE_CONFIGURATION) {
status = dev->GetActiveConfigDescriptor(descriptorBuf, lpSize);
} else {
status = dev->GetConfigDescriptor(lpConfigInfo->dwConfigIndex, descriptorBuf, lpSize);
}
if (!status) {
ERROR_MSG((TEXT("USBKWrapperDrv!OpenContext::GetConfigDescriptor() - ")
TEXT("failed to retrieve device 0x%08x config descriptor idx %d\r\n"),
lpConfigInfo->lpDevice, lpConfigInfo->dwConfigIndex));
return FALSE;
}
descriptorBuf.Flush();
return TRUE;
}