Como desativar um monitor secundário (com ChangeDisplaySettingsEx)?

Estou tentando seguir as instruçõesMSDN dado aqui para desabilitar um monitor secundário.

Eu estou tentando usar especificamente este conjunto de funções para permitir compatibilidade com versões mais antigas do Windows.

No entanto, não consigo desativar um monitor. Estou executando e testando isso no Windows 7 x64. Tudo que eu vejo é uma tela bruxuleante. O código definitivamente detecta o monitor corretamente - eu consegui alterar a resolução e ver seus modos de exibição facilmente.

Aqui estão (partes) do meu código - eu tentei muitas variações nos campos para o DEVMODE

DEVMODE    deleteScreenMode;
ZeroMemory(&deleteScreenMode, sizeof(DEVMODE));
deleteScreenMode.dmSize = sizeof(DEVMODE);
deleteScreenMode.dmDriverExtra = 0;
deleteScreenMode.dmFields = DM_POSITION | DM_PELSHEIGHT | DM_PELSWIDTH;
deleteScreenMode.dmPelsWidth = 0;
deleteScreenMode.dmPelsHeight = 0;

POINTL delete;
deleteion.x=0;
deleteion.y=0;
deleteScreenMode.dmPosition = deleteion;

LONG result = ChangeDisplaySettingsEx(devName, 
                                        &deleteScreenMode,
                                        NULL,
                                        CDS_UPDATEREGISTRY,
                                        NULL);

Alguém tem experiência com isto? obrigado

questionAnswers(2)

yourAnswerToTheQuestion