Inscrire un terminal enfichable
L’inscription d’un terminal enfichable peut être appelée dans la fonction DllRegisterServer du composant qui implémente le terminal. L’exemple de code suivant peut être placé dans le code de DllRegisterServer.
ITPluggableTerminalClassRegistration* pTerminal;
BSTR bstrTerminalSuperclass = SysAllocString(L"{F7438990-D6EB-11d0-82A6-00AA00B5CA1B}");
// If (NULL == bstrTerminalSuperclass) process the error here.
BSTR bstrTerminalClass = SysAllocString(L"{AED6483E-3304-11d2-86F1-006008B0E5D2}");
// If (NULL == bstrTerminalClass) process the error here.
BSTR bstrTerminalCLSID = SysAllocString(L"{E2F7AEF7-4971-11D1-A671-006097C9A2E8}");
// If (NULL == bstrTerminalCLSID) process the error here.
HRESULT hr;
hr = CoCreateInstance(
CLSID_PluggableTerminalRegistration,
NULL,
CLSCTX_INPROC_SERVER,
IID_ITPluggableTerminalClassRegistration,
(void**)&pTerminal);
hr = pTerminal->put_TerminalClass( bstrTerminalClass );
// If (hr != S_OK) process the error here.
pTerminal->put_CLSID( bstrTerminalCLSID );
// If (hr != S_OK) process the error here.
pTerminal->put_Name( ... );
// If (hr != S_OK) process the error here.
pTerminal->put_Company( ... );
// If (hr != S_OK) process the error here.
pTerminal->put_Version( ... );
// If (hr != S_OK) process the error here.
pTerminal->put_Direction( ... );
// If (hr != S_OK) process the error here.
pTerminal->put_MediaTypes( ... );
// If (hr != S_OK) process the error here.
pTerminal->Add( bstrTerminalSuperclass );
// If (hr != S_OK) process the error here.
// Free the memory created by SysAllocString().
SysFreeString(bstrTerminalSuperclass);
SysFreeString(bstrTerminalClass);
SysFreeString(bstrTerminalCLSID);