From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/dxcore/tests/dxcore.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
diff --git a/dlls/dxcore/tests/dxcore.c b/dlls/dxcore/tests/dxcore.c index a3fb0102bef..98be90a6c45 100644 --- a/dlls/dxcore/tests/dxcore.c +++ b/dlls/dxcore/tests/dxcore.c @@ -48,6 +48,8 @@ static void test_DXCoreCreateAdapterFactory(void) IDXCoreAdapterList *adapter_list = (void *)0xdeadbeef; IDXCoreAdapter *adapter2 = (void *)0xdeadbeef; IDXCoreAdapter *adapter = (void *)0xdeadbeef; + struct DXCoreHardwareID *hardware_id; + void *buffer = (void *)0xdeadbeef; uint32_t adapter_count = 0; HRESULT hr; LONG ref; @@ -123,6 +125,39 @@ static void test_DXCoreCreateAdapterFactory(void) check_interface( adapter, &IID_IDXCoreAdapterList, FALSE ); check_interface( adapter, &IID_IDXCoreAdapterFactory, FALSE );
+ hr = IDXCoreAdapter_GetProperty( adapter, HardwareID, 0, NULL ); + todo_wine + ok( hr == E_POINTER, "got hr %#lx.\n", hr ); + hr = IDXCoreAdapter_GetProperty( adapter, HardwareID, 0, buffer ); + todo_wine + ok( hr == E_INVALIDARG, "got hr %#lx.\n", hr ); + + buffer = calloc( 1, sizeof( HardwareID ) ); + ok( buffer != NULL, "failed to allocate memory for buffer.\n" ); + hr = IDXCoreAdapter_GetProperty( adapter, HardwareID, sizeof( HardwareID ), buffer ); + todo_wine + ok( hr == E_INVALIDARG, "got hr %#lx.\n", hr ); + free( buffer ); + buffer = calloc( 1, sizeof( DXCoreHardwareID ) ); + ok( buffer != NULL, "failed to allocate memory for buffer.\n" ); + hr = IDXCoreAdapter_GetProperty( adapter, 0xdeadbeef, sizeof( DXCoreHardwareID ), buffer ); + todo_wine + ok( hr == DXGI_ERROR_INVALID_CALL, "got hr %#lx.\n", hr ); + free( buffer ); + + buffer = calloc( 1, sizeof( DXCoreHardwareID ) ); + ok( buffer != NULL, "failed to allocate memory for buffer.\n" ); + hr = IDXCoreAdapter_GetProperty( adapter, HardwareID, sizeof( DXCoreHardwareID ), buffer ); + todo_wine + ok( hr == S_OK, "got hr %#lx.\n", hr ); + if (SUCCEEDED(hr)) + { + hardware_id = buffer; + ok( hardware_id->vendorID != 0, "failed to get vendorID\n" ); + ok( hardware_id->deviceID != 0, "failed to get deviceID\n" ); + } + free( buffer ); + ref = IDXCoreAdapter_Release( adapter ); todo_wine ok( ref == 2, "got ref %ld.\n", ref );