title: changing screen orientation programmatically in mirror mode windows 7
body: <p>How to change screen orientation of each screen individually from C++ or C#? Having dual screen display configuration in mirror mode.
  Intel Graphics card is installed on the machine. I tried EnumDisplaySettings function and DeviceMode structure. However, it only works in extended mode.  If I try to change orientation by this function in mirror mode both screens are set to the same orientation. Maybe there is a way to change this settings through Intel driver SDK or any other native windows 7 functionality?</p>
  
  <p><strong>UPDATE 1:</strong></p>
  
  <p>Here is the code I tried with CCD API. It still rotates both displays =(</p>
  
  <pre><code>UINT32 PathArraySize = 0;
  UINT32 ModeArraySize = 0;
  DISPLAYCONFIG_PATH_INFO* PathArray;
  DISPLAYCONFIG_MODE_INFO* ModeArray;
  DISPLAYCONFIG_TOPOLOGY_ID CurrentTopology;  
  
  SetDisplayConfig(0,NULL,0,NULL,SDC_TOPOLOGY_CLONE|SDC_APPLY); //set to clone mode
  GetDisplayConfigBufferSizes(QDC_ALL_PATHS, &amp;PathArraySize, &amp;ModeArraySize);
  
  PathArray =   (DISPLAYCONFIG_PATH_INFO*)malloc(PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO));
  memset(PathArray, 0, PathArraySize * sizeof(DISPLAYCONFIG_PATH_INFO));
  ModeArray =   (DISPLAYCONFIG_MODE_INFO*)malloc(ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO));
  memset(ModeArray, 0, ModeArraySize * sizeof(DISPLAYCONFIG_MODE_INFO));
  LONG ret = QueryDisplayConfig(QDC_DATABASE_CURRENT,&amp;PathArraySize, PathArray, &amp;ModeArraySize, ModeArray, &amp;CurrentTopology);
  
  PathArray++;
  PathArray-&gt;targetInfo.rotation =  DISPLAYCONFIG_ROTATION_ROTATE180; //set Second display rotated 180
  PathArray--;
  
  SetDisplayConfig(PathArraySize,PathArray,ModeArraySize,ModeArray, SDC_APPLY | SDC_SAVE_TO_DATABASE | SDC_ALLOW_CHANGES | SDC_USE_SUPPLIED_DISPLAY_CONFIG); //apply rotation
  
  free(PathArray);
  free(ModeArray);
  </code></pre>