40+ TOP ATL Server Interview Questions and Answers [UPDATED]

If you’re preparing for ATL Server job interview and whether you’re experienced or fresher & don’t know what kind of questions will be asked in ATL Server interview, then go through the below 40+ Top ATL Server Interview Questions and Answers to crack your job interview.

ATL Server Interview Questions and Answers

  • Question: Explain The Atl Server Architecture?

    Answer :

    The Web server receives requests from the client and passes them on to the ISAPI extension DLL when the request is for a file extension handled by that DLL.

    The ISAPI extension DLL receives requests from IIS and passes them on to the appropriate Web application DLL.

    Web application DLLs provide application-specific functionality for handling requests and generating responses.

    Server response files are text files that contain the static parts of a response and special tags describing where request handler methods can be called to generate the dynamic parts of the response.

  • Question: Explain The Concepts And Capabilities Of Atl Server?

    Answer :

    • ATL Server is developed by Microsoft for developing web based applications.
    •  ATL Server is a library of C++ classes that allow developers to build internet based applications.
    • It includes a template library which is dedicated for use with developing Web-based applications.

    It provides the functionality required to build large scale internet sites like:

    – SOAP messaging
    – caching facilities
    – threading facilities
    – regular expression processing
    – management of session-state
    – performance monitoring
    – MIME support
    – Integration with IIS and class for interacting with security
    – cryptographic infrastructure.

  • Question: Explain The Three Main Components Of The Atl Server Project – The Web Application Dll, The Isapi Extension Dll, And The Server Response File?

    Answer :

    • There can be many Web application DLLs in a virtual directory which can provide one or more named request handlers.
    • They have the functionality for handling requests and generating responses.
    • They expose request handlers that communicate with the ISAPI extension DLL.
    • Each Web application DLL can be used from multiple server response files.
    • Server response files are basically text files.
    • They contain the static parts of a response and special tags.
    • These special tags describe where request handler methods can be called to generate the dynamic parts of the response.
    • Each server response file can use more than one Web application DLL.
    • The requests from IIS are received by the ISAPI extension DLL and are passed to the appropriate Web application DLL.
    • It provides the request handling infrastructure and common services used by the Web application DLLs.
    • One ISAPI extension DLL exists per virtual directory and it handles requests for files with the .dll and .srf extensions.
  • Question: How To Create Sdk Based Atl? How To Create Sdk Based Com?

    Answer :

    Use the CAxWindow class as described below:

    Make sure that AtlAxWinInit has been called.

    AtlAxWinInit()

  • Question: What Are The Known Problems With The Atl 2.0 Object Wizard?

    Answer :

    The ATL 2.0 Object Wizard might not be present in the Component Gallery. The ATL 2.0 Object Wizard is not installed by the main ATL 2.0 setup program (Atlinst.exe).

    It requires a separate setup program. You need to download and run the ATL 2.0 Object Wizard Technology Preview (Objinst.exe) from the ATL Web page. There is a separate ZIP file for Windows NT 3.51.

    The ATL 2.0 Object Wizard may crash if an older version of Oleaut32.dll is installed on the system. Make sure the version of Oleaut32.dll is at least 2.20.4049. The latest version is available for download at the Internet Explorer 3.x Web site. If this does not fix the problem, then install Service Pack 2 for Windows NT 4.0.

  • Question: What Are The Reasons An Atl Server Might Fail To Register?

    Answer :

    The following are the top three reasons an ATL server might fail to register:

    1. You built your project with _WIN32_WINNT=0x400 (the default), and you are not running the ATL server under Windows NT 4.0 or you do not have an uptodate version of Oleaut32.dll. To solve this problem, run “DUMPBIN /EXPORTS OLEAUT32.DLL” and search for UnregisterTypelib. If it is not there, then your server cannot run. Remove this #define statement from Stdafx.h if you want to run the ATL server under Windows 95 or older versions of Windows NT. Alternatively, you can use LoadLibrary and GetProcAddress so that you can run optimally under both Windows 95 and Windows NT 4.0. The Oleaut32.dll that ships with the Internet Explorer 3.x is uptodate.
    2. You built your project as MinSize and Atl.dll is not properly installed on the system. The correct version of Atl.dll must be copied and registered by Regsvr32. There are Windows NT and Windows 95 versions of Atl.dll. The Windows 95 version runs under Windows NT. However, since it does not use the UNICODE APIs, it is slightly less efficient. Unless you build your project as MinDependency, you will need to install the correct version of Atl.dll and run Regsvr32 on it before you install your server.
    3. You built your project as UNICODE, and you cannot run it under Windows 95.

    The following are the steps to troubleshoot:

    1. For a DLL server, run Regsvr32 in the debugger. Open the Project Settings dialog box and click the Debug tab. In the Executable for debug session text box, enter the full path to Regsvr32.exe, such as C:SharedideBinRegsvr32.exe. In the Program arguments text box, specify the full path to your DLL, such as C:MyprojectsMyFolderDebugMyFile.dll. Set a breakpoint at DllRegisterServer and start stepping.
    2. For an EXE server, run it in the debugger and specify /REGSVR as its commandline argument.
  • Question: What Is “atlaxwin80”?

    Answer :

    “AtlAxWin80” is the name of a window class that helps provide ATL’s controlhosting functionality. When you create an instance of this class, the window procedure will automatically use the controlhosting API to create a host object associated with the window and load it with the control that you specify as the title of the window.

  • Question: What Is A Stencil In Atl Server?

    Answer :

    • A stencil is any text file that contains special tags understood by CStencil Class (used to parse a stencil and generate a text stream by replacing elements found within the stencil by output generated by an object implementing the ITagReplacer interface) or a derived class.
    • A SRF is a stencil containing tags understood by CHtmlStencil. 
    • The stencil processor is a feature which allows content generation based on the stencil SRF files.
    • It allows separating the static part of the response from dynamic content.
  • Question: What Is Class Description Of Caxdialogimpl?

    Answer :

    Acts as a base class for dialog classes based on a dialog resource. Such dialogs can contain ActiveX controls.

  • Question: What Is Class Description Of Caxwindow?

    Answer :

    Wraps an “AtlAxWin80” window, providing methods for creating the window, creating a control and/or attaching a control to the window, and retrieving interface pointers on the host object.

  • Question: What Is Class Description Of Caxwindow2t?

    Answer :

    Wraps an “AtlAxWinLic80” window, providing methods for creating the window, creating a control and/or attaching a licensed control to the window, and retrieving interface pointers on the host object.

  • Question: What Is Class Description Of Ccomcompositecontrol?

    Answer :

    Acts as a base class for ActiveX control classes based on a dialog resource. Such controls can contain other ActiveX controls.

  • Question: What Is Class Description Of Cwindow?

    Answer :

    Provides a method, GetDlgControl, that will return an interface pointer on a control, given the ID of its host window. In addition, the Windows API wrappers exposed by CWindow generally make window management easier.

  • Question: What Is Difference Between Int A[][]=[4] Int [][]a=[4]?

    Answer :

    Yes There is diff between, both will give you error. one will give compiler error and another will give systax error.

  • Question: What Is Function Description Of Atlaxattachcontrol?

    Answer :

    Creates a host object, connects it to the supplied window, then attaches an existing control.

  • Question: What Is Function Description Of Atlaxcreatecontrol? (answer.php?

    Answer :

    Creates a host object, connects it to the supplied window, then loads a control.

  • Question: What Is Function Description Of Atlaxcreatecontrolex?

    Answer :

    Creates a host object, connects it to the supplied window, then loads a control (also allows event sinks to be set up).

  • Question: What Is Function Description Of Atlaxcreatecontrollic?

    Answer :

    Creates a licensed ActiveX control, initializes it, and hosts it in the specified window, similar to AtlAxCreateControl.

  • Question: What Is Function Description Of Atlaxcreatecontrollicex?

    Answer :

    Creates a licensed ActiveX control, initializes it, and hosts it in the specified window, similar to AtlAxCreateControlLic.

  • Question: What Is Function Description Of Atlaxcreatedialog?

    Answer :

    Creates a modeless dialog box from a dialog resource and returns the window handle.

  • Question: What Is Function Description Of Atlaxdialogbox?

    Answer :

    Creates a modal dialog box from a dialog resource.

  • Question: What Is Function Description Of Atlaxgetcontrol?

    Answer :

    Returns the IUnknown interface pointer of the control hosted in a window.

  • Question: What Is Function Description Of Atlaxgethost?

    Answer :

    Returns the IUnknown interface pointer of the host object connected to a window.

  • Question: What Is Function Description Of Atlaxwininit?

    Answer :

    Initializes the controlhosting code.

  • Question: What Is Function Description Of Atlaxwinterm?

    Answer :

    Uninitializes the controlhosting code.

  • Question: What Is Proces?

    Answer :

    In Windows, Thread is an unit of execution.Process is the environment in which thread executes.Scheduler, schedules the Threads not the process.

    In Unix variants,Thread is treated as light weight process.

    Scheduler, schedules the process not threads.

  • Question: What Is Srf Files? Explain With An Example?

    Answer :

    SRF files contain HTML and script tags denoted by the {{ opening and }} closing braces.

    A single SRF file may call code from a number of application DLLs and a single application DLL may serve a number of SRF files.

    The simplest SRF file must contain one or more references to application DLLs and one or more calls to a function within those DLLs. 

    Eg:

    {{handler ATLServerHelloWorld.dll/Default}}
    <html>
    <body>
    {{Hello CareerRide}}
    </body>
    </html>

    The first line of the file is used to identify the DLL and the class that the SRF file will make calls to.

    {{handler ATLServerHelloWorld.dll/Default}}.

  • Question: What Is The Atl Control-hosting Api?

    Answer :

    ATL’s controlhosting API is the set of functions that allows any window to act as an ActiveX control container.

    These functions can be statically or dynamically linked into your project since they are available as source code and exposed by ATL80.dll.

  • Question: What Is The Information That Srfs Typically Contain?

    Answer :

    SRF files contain HTML and script tags denoted by the {{ opening and }} closing braces.

    A single SRF file may call code from a number of application DLLs and a single application DLL may serve a number of SRF files.

    Following is a list of tags used in the SRF:

    • The codepage tag within an SRF is used when the SRF is parsed.
    • The comment tag does not rendered on the client Web browser.
    • The handler tag specifies the name of the Web application DLL and the name of the request handler. There can only be one handler tag per SRF.
    • The include tag inserts the rendered content of another SRF at the current position of the SRF that uses it.
    • The locale tag signifies that any content rendered after that point in the file should support the locale that is specified.
    • The replacement tag is a customized tag that is replaced with content from the request handler within your Web application DLL.
    • The subhandler tag defines an additional request handler. Unlike the handler tag, there can be multiple subhandler tags within an SRF.
  • Question: What Problems Might Be Encountered When Using _atl_min_crt? What Causes The Linker Error That _main Is Unresolved During Release Builds?

    Answer :

    Because before calling _Main, program might be calling other function which is needed to initialize the memebers of the program. If that function calling fails, then it throws so called linker error.

  • Question: Which Atl Classes Facilitate Activex Control Containment?

    Answer :

    ATL’s controlhosting code doesn’t require you to use any ATL classes; you can simply create an “AtlAxWin80” window and use the controlhosting API if necessary.

  • Question: Why Atl Server?

    Answer :

    • ATL Server is a set of native C++ classes that allows developers to create Web applications, XML Web services, and other server applications.
    • Many classes may also be used in client applications or components.