Microsoft XML 2.5 SDK


 

IXMLDOMDocument::get_implementation Method

[This is preliminary documentation and subject to change.]

Contains a pointer to the IXMLDOMImplementation object for this document.

Visual Basic Syntax

Set objXMLDOMImplementation = oXMLDOMDocument.implementation

C/C++ Syntax

HRESULT get_implementation(

    IXMLDOMImplementation **impl);

Parameters

impl

[out]
IXMLDOMImplementation object for this document.

C/C++ Return Values

S_OK

Value returned if successful.

E_INVALIDARG

Value returned if impl is null.

Remarks

A DOM application can use objects from multiple implementations. This provides access to the IXMLDOMImplementation object that handles this document.

C/C++ Example

IXMLDOMDocument * pIXMLDOMDocument = NULL;
IXMLDOMImplementation *pIXMLDOMImplementation = NULL;
VARIANT_BOOL varbFlag ;
BSTR bstrOutput = NULL;
BSTR bstrFeature = ::SysAllocString(_T("MS-DOM"));

try
{
   // Initialise pIXMLDOMDocument ( create a DOMDocument )
   // load document
hr = pIXMLDOMDocument->get_implementation 
(&pIXMLDOMImplementation);

   if(SUCCEEDED(hr) && pIXMLDOMImplementation)
   {
pIXMLDOMImplementation->hasFeature(bstrFeature, _T("1.0"), &varbFlag);
      if(varbFlag == VARIANT_TRUE )
         bstrOutput = ::SysAllocString(_T("Feature Supported"));
      else
         bstrOutput = ::SysAllocString(_T("Feature not Supported"));

      ::MessageBox(NULL, bstrOutput, bstrFeature, MB_OK);
      pIXMLDOMImplementation->Release();
      pIXMLDOMImplementation = NULL;
   ::SysFreeString(bstrOutput);
      bstrOutput = NULL;
   }
   ::SysFreeString(bstrFeature);
   bstrFeature = NULL;
}
catch(...)
{
   if(pIXMLDOMImplementation)
      pIXMLDOMImplementation->Release();
   if(bstrOutput)
::SysFreeString(bstrOutput);
if(bstrFeature)
      ::SysFreeString(bstrFeature);
   DisplayErrorToUser();
}
// Release pIXMLDOMDocument after done with it