AgileReference::~AgileReference()
{
  if (!mGitCookie) {
    return;
  }

  IGlobalInterfaceTable* git = ObtainGit();
  MOZ_ASSERT(git);
  if (!git) {
    return;
  }

  DebugOnly<HRESULT> hr = git->RevokeInterfaceFromGlobal(mGitCookie);
  MOZ_ASSERT(SUCCEEDED(hr));
}
PyObject *PyIGlobalInterfaceTable::RevokeInterfaceFromGlobal(PyObject *self, PyObject *args)
{
	DWORD dwCookie;
	HRESULT hr;

	IGlobalInterfaceTable *pIGIT = GetI(self);
	if ( pIGIT == NULL )
	{
		return NULL;
	}
	if (!PyArg_ParseTuple(args, "l:RevokeInterfaceFromGlobal", &dwCookie) )
	{
		return NULL;
	}
	PY_INTERFACE_PRECALL;
	hr = pIGIT->RevokeInterfaceFromGlobal( dwCookie );
	PY_INTERFACE_POSTCALL;
	if ( FAILED(hr) )
	{
		return PyCom_BuildPyException(hr, pIGIT, IID_IGlobalInterfaceTable );
	}
	Py_INCREF(Py_None);
	return Py_None;
}