
рдирд╣реАрдВ, рдпрд╣ рд╣рдм рдЗрдВрдЬрди рдореЗрдВ рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ, рдФрд░
рд╡рд╛рдИрдбреАрдЖрдИ рддрдХрдиреАрдХ рдкрд░ рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ рд▓реЗрдЦ рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдмрд╛рд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд╛рдИрдбреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рдИрдбреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╡рд╛рдИрдбреАрдЖрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рд╣реИ ? рдирд╣реАрдВ? рдлрд┐рд░ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред
рдХреМрди рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреА рдХрд▓реНрдкрдирд╛ рд╕реЗ рд╕реАрдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рддрд╣ рдкрд░ рдкрдбрд╝реЗ рд╡рд┐рдЪрд╛рд░ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рд╡реАрдбрд┐рдпреЛ рдпрд╛ рдСрдбрд┐рдпреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ, рдлрд╝реЛрдЯреЛ рджреЗрдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВред рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд╛рдИрдбреАрдЖрдИ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЯреАрд╡реА рд╕реНрдХреНрд░реАрди рдкрд░ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓ рдпрд╣ рд╡рд┐рд╖рдп рдмрд╣реБрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ - рдЗрд╕ рд╕рдордп рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд╛рдИрдбреАрдЖрдИ рдПрдбреЗрдкреНрдЯрд░ рдирд╣реАрдВ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡рд╛рдИрдбреАрдЖрдИ рдПрдбреЗрдкреНрдЯрд░ рдЯреАрд╡реА рдкрд░ рддреБрд░рдВрдд рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд▓рдЬреА рдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕реАрдИрдПрд╕ 2012 рдореЗрдВ рдкрд╣рд▓реЗ рдЯреАрд╡реА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рд╛рд▓ рдЕрдкрдиреА рд░рд┐рд▓реАрдЬ
рд╢реБрд░реВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ , рдпрд╣ рд╡рд┐рд╖рдп рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рджреЗрдЧрд╛ред
рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╡рд╛рдИрдбреАрдЖрдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдЗрдВрдЯреЗрд▓ рдиреЗ рдЗрдВрдЯреЗрд▓ рд╡рд╛рдИрдбреАрдЖрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдПрд╕рдбреАрдХреЗ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
- рд╡рд╛рдИрдбреАрдЖрдИ рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
- рд░реЗрдбреА-рдЯреВ-рдХрдиреЗрдХреНрдЯ рдПрдбрд╛рдкреНрдЯрд░ рдХреЛ рдвреВрдВрдврдирд╛ рдФрд░ рдкрд╣рдЪрд╛рдирдирд╛
- рдПрдбреЙрдкреНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
- рд╕реНрдХреНрд░реАрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВ, рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЛрдб (рдХреНрд▓реЛрди рд╕реНрдХреНрд░реАрди, рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рджреВрд╕рд░реА рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░реЗрдВ)
SDK рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░рд▓реЗрдЦрди, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ C ++, C # рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗрдВрдЧреЗред
рд╡реИрд╕реЗ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╡рд╛рдИрдбреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдРрд╕реЗ рд▓реЛрд╣реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╣реЛрдЧреАред
рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд╛рдИрдбреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдФрд░
рдЗрдВрдЯреЗрд▓ рд╡рд╛рдИрдбреАрдЖрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рддрд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд╡рдпрдВ SDK рд╣реЛрддрд╛ рд╣реИред рд╣рдо рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдЕрдирдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдЕрдкрдирд╛ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ
#include <IntelWiDiExtensions_i.h>
IWiDiExtensions рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬрд╝ рд╣реИ
HRESULT hr; hr = CoCreateInstance(CLSID_WiDiExtensions, NULL, CLSCTX_INPROC_SERVER, __uuidof(IWiDiExtensions), (LPVOID*)&m_pWiDi); if(hr == S_OK) { hr = m_pWiDi->Initialize((DWORD)m_hWnd); }
рд╕рднреА рд╡рд╛рдИрдбреАрдЖрдИ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИрдВред рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦрд┐рдбрд╝рдХреА рд╕рдВрджреЗрд╢ рдЦрд┐рдбрд╝рдХреА рдкрд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ
рдЖрд░рдВрднреАрдХреГрдд рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛ред
HRESULT Initialize( HWND windowHandle );
рдкреНрд░рд╛рд░рдВрдн рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрд╡реЗрджрди рд╡рд┐рдВрдбреЛ рдХреЛ
WM_WIDI_INITIALIZED рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрд░рдВрднрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╣реБрдИ рддреНрд░реБрдЯрд┐ рдХреА рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
WM_WIDI_INITIALIZATION_FAILED рд╕рдВрджреЗрд╢ рдХрд╛
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
WM_WIDI_INITIALIZATION_FAILED рд╕рдВрджреЗрд╢
рд╣реИрдВрдбрд▓рд░ рдХреЗ
wParam рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╣реЛрдЧрд╛:
RC_WIDI_APP_NOT_FOUND
рд╕рдлрд▓ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрдкрд▓рдмреНрдз рд╡рд╛рдИрдбреАрдЖрдИ рдПрдбреЗрдкреНрдЯрд░ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣
StartScanForAdapters рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
ред HRESULT StartScanForAdapters();
рдорд┐рд▓реЗ рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
WM_WIDI_ADAPTER_DISCOVERED рд╕рдВрджреЗрд╢
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред LParam рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдХрд╛ рд╕реВрдЪрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЪрдпрдирд┐рдд рдПрдбрд╛рдкреНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЦреЛрдЬ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рдВрдбреЛ рдХреЛ
WM_WIDI_SCAN_COMPLETE рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред WParam рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдХреЛрдб рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕реНрдХреИрди рдХреНрдпреЛрдВ рдкреВрд░рд╛ рд╣реБрдЖ:
RC_SUCCESS
рдпрджрд┐ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рддреЛ рдЖрдк рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
StartConnectionToAdapter рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
HRESULT StartConnectionToAdapter( BSTR AdapterUniqueID, int SourceScreenResolution, int TargetScreenResolution, ScreenMode Mode );
рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд╛рдж, рд╡рд┐рдВрдбреЛ рдХреЛ
WM_WIDI_CONNECTED рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ -
WM_WIDI_DISCONNECT_FAILED , рдХреЛрдб рдореЗрдВ
wParam рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛:
RC_CONNECTION_DROPPED
рдПрдбреЗрдкреНрдЯрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ
lParam рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрддрдирд╛ рд╣реАред рд╡рд╛рдИрдбреАрдЖрдИ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдПрд╕рдбреАрдХреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╡рд╛рд▓ рд╣реЛрдВрдЧреЗ - рдпрд╣рд╛рдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдпрд╛
рдЗрдВрдЯреЗрд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдиреЗрдЯрд╡рд░реНрдХ рдлреЛрд░рдо рдкрд░ рдкреВрдЫреЗрдВред