HRESULT hr = S_OK;
KSPROPERTY ksprop;
ZeroMemory(&ksprop, sizeof(ksprop));
PVOID pData = NULL;
ULONG valueSize = 0;
ULONG dataLength = 0;
KSPROPERTY_CAMERACONTROL_S cameraControl;
ZeroMemory(&cameraControl, sizeof(cameraControl));
ksprop.Set = PROPSETID_VIDCAP_CAMERACONTROL;
ksprop.Id = KSPROPERTY_CAMERACONTROL_ZOOM;
ksprop.Flags = KSPROPERTY_TYPE_SET;
cameraControl.Property = ksprop;
cameraControl.Flags = KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL;
cameraControl.Capabilities = KSPROPERTY_CAMERACONTROL_FLAGS_MANUAL;
cameraControl.Value = 50;
pData = &cameraControl;
dataLength = sizeof(cameraControl);
hr = m_pKsControl->KsProperty(
&ksprop, sizeof(ksprop),
pData, dataLength, &valueSize);
здесь час «Область данных, переданная по системному вызову, слишком мал.»
Я компиляция по сравнению с 2010 годом на машине Windows 7.KsProperty() возвращает «Область данных, переданная по системному вызову, слишком мала» ERROR_INSUFFICIENT_BUFFER при установке камеры значения Увеличить
Я попробовал, что я установить 3, 4 параметра NULL, но BytesReturned значение слишком велико (мусор) .Я думаю, ERROR_INSUFFICIENT_BUFFER и ERROR_MORE_DATA являются different.Do у вас есть какие-либо образец или ссылку на то, что вы говорите. –