JNIEXPORT jobject JNICALL Java_jmtp_PortableDevicePropertiesImplWin32_getPropertyAttributes (JNIEnv* env, jobject obj, jstring jsObjectID, jobject key) { HRESULT hr; IPortableDeviceProperties* pProperties; IPortableDeviceValues* pValues; LPWSTR wszObjectID; jclass cls; jmethodID mid; jobject reference; pProperties = GetPortableDeviceProperties(env, obj); wszObjectID = (WCHAR*)env->GetStringChars(jsObjectID, NULL); //printf("%ws\n", wszObjectID); //printf("s10001\n"); hr = pProperties->GetPropertyAttributes(L"DEVICE", WPD_RESOURCE_ATTRIBUTE_CAN_DELETE, &pValues); env->ReleaseStringChars(jsObjectID,(jchar*)wszObjectID); if(FAILED(hr)) { ThrowCOMException(env, L"Failed to retrieve the property", hr); } BOOL del; //hr = pValues->GetBoolValue(WPD_RESOURCE_ATTRIBUTE_CAN_DELETE, &del);; //printf("naam: %i\n", del); //smart reference object aanmaken cls = env->FindClass("be/derycke/pieter/com/COMReference"); mid = env->GetMethodID(cls, "<init>", "(J)V"); reference = env->NewObject(cls, mid, pValues); cls = env->FindClass("jmtp/PortableDeviceValues"); mid = env->GetMethodID(cls, "<init>", "(Lbe/derycke/pieter/com/COMReference;)V"); return env->NewObject(cls, mid, reference); }