函数 (COM)
COM 提供以下函数。
函数 | 说明 |
---|---|
BindMoniker | 通过名字对象查找对象,如果对象处于非活动状态,则激活该对象,并检索指向该对象上指定接口的指针。 |
CLSIDFromProgID | 在给定 ProgID 的注册表中查找 CLSID。 |
CLSIDFromProgIDEx | 如果启用 COMClassStore 策略,则触发自动安装。 |
CLSIDFromString | 将 StringFromCLSID 函数生成的字符串转换回原始 CLSID。 |
CoAddRefServerProcess | 递增每个进程的全局引用计数。 |
CoAllowSetForegroundWindow | 使调用的 COM 服务器进程能够使用 IForegroundTransfer 接口从客户端应用程序中获得焦点。 |
CoAllowUnmarshalerCLSID | 将 unmarshaler CLSID 添加到仅调用进程的允许列表。 |
CoCancelCall | 请求取消指定线程上挂起的出站 DCOM 方法调用。 |
CoCopyProxy | 创建指定代理的专用副本。 |
CoCreateFreeThreadedMarshaler | 创建能够进行上下文相关封送的可聚合对象。 |
CoCreateGuid | 创建 GUID,即 CLSID 和接口标识符使用的唯一 128 位整数。 |
CoCreateInstance | 创建与指定 CLSID 关联的类的单个未初始化对象。 |
CoCreateInstanceEx | 在特定计算机上创建特定类的实例。 |
CoCreateInstanceFromApp | 从应用容器内在特定计算机上创建特定类的实例。 |
CoDisableCallCancellation | 撤消调用 CoEnableCallCancellation 的操作。 |
CoDisconnectContext | 断开代表指向当前上下文中对象的所有接口指针进行维护的所有代理连接。 |
CoDisconnectObject | 断开代表指向指定对象的所有接口指针进行维护的所有远程进程连接。 |
CoDosDateTimeToFileTime | 将时间和日期的 MS-DOS 表示形式转换为 Windows 使用的 FILETIME 结构。 |
CoEnableCallCancellation | 启用取消调用线程的同步调用。 |
CoFileTimeNow | 以 FILETIME 结构的形式返回当前时间。 |
CoFileTimeToDosDateTime | 将 FILETIME 转换为 MS-DOS 日期和时间值。 |
CoFreeAllLibraries | 释放已使用 CoLoadLibrary 函数(由 CoGetClassObject 在内部调用)加载的所有 DLL,无论它们当前是否正在使用。 |
CoFreeLibrary | 释放一个库,该库在加载时被指定为显式释放。 |
CoFreeUnusedLibraries | 卸载任何不再使用的 DLL。 |
CoFreeUnusedLibrariesEx | 卸载任何不再使用且卸载延迟已过期的 DLL。 |
CoGetApartmentType | 查询当前单元类型和类型限定符。 |
CoGetCallContext | 检索当前线程上当前调用的上下文。 |
CoGetCallerTID | 返回指向包含调用方线程的单元 ID 的 DWORD 的指针。 |
CoGetCancelObject | 获取与同一或其他客户端线程上挂起的出站 COM 方法调用对应的取消对象上指向调用控制接口的指针(通常为 ICancelMethodCalls)。 |
CoGetClassObject | 提供指向与指定 CLSID 关联的类对象上的接口的指针。 |
CoGetContextToken | 返回指向当前上下文的 IObjContext 实现的指针。 |
CoGetCurrentLogicalThreadId | 返回当前物理线程的逻辑线程 ID。 |
CoGetCurrentProcess | 返回当前线程的唯一值。 CoGetCurrentProcess 可用于避免线程 ID 重用问题。 |
CoGetInstanceFromFile | 创建一个新对象并使用 IPersistFile::Load 从文件对其进行初始化。 |
CoGetInstanceFromIStorage | 创建一个新对象,并通过内部调用 IPersistFile::Load 从存储对象对其进行初始化。 |
CoGetInterceptor | 实例化要截获的指定接口的相应拦截器,并返回新创建的侦听器。 |
CoGetInterfaceAndReleaseStream | 取消封送包含接口指针的缓冲区,并在将接口指针从另一个线程封送到调用线程时释放流。 |
CoGetMalloc | 检索指向默认 OLE 任务内存分配器的指针(支持 IMalloc 接口的系统实现),以便应用程序可以调用其方法来管理内存。 |
CoGetMarshalSizeMax | 返回将指定接口指针封送到指定对象所需的字节数的上限。 |
CoGetObject | 将显示名称转换为标识命名对象的名字对象,然后绑定到名字对象标识的对象。 |
CoGetObjectContext | 返回当前对象的上下文。 |
CoGetPSClsid | 返回实现指定接口的代理和存根的 DLL 的 CLSID。 |
CoGetStandardMarshal | 根据调用方在客户端进程或服务器进程中创建默认或标准封送对象,并返回指向该对象的 IMarshal 实现的指针。 |
CoGetStdMarshalEx | 创建轻型客户端处理程序使用的聚合标准封送处理器。 |
CoGetSystemSecurityPermissions | 返回计算机范围内启动和访问权限的安全描述符的默认值以及启动和访问限制。 |
CoGetTreatAsClass | 返回可以模拟指定对象的对象的 CLSID。 |
CoHandlePriorityEventsFromMessagePump | 为短时间运行的基础结构 COM 调用和其他高优先级或短时间运行 COM 工作提供在消息之间调度的机会。 |
CoImpersonateClient | 使服务器能够在调用期间模拟当前调用的客户端。 |
CoInitialize | 初始化当前线程上的 COM 库,并将并发模型标识为单线程单元 (STA)。 |
CoInitializeEx | 初始化 COM 库供调用线程使用,设置线程的并发模型,并根据需要为线程创建新单元。 |
CoInitializeSecurity | 注册安全性并设置进程的默认安全值。 |
CoInstall | 安装所需的 COM 服务器应用程序。 |
CoInvalidateRemoteMachineBindings | 让服务控制管理器刷新指定计算机的任何缓存 RPC 绑定句柄。 |
CoIsHandlerConnected | 确定远程对象是否连接到相应的进程内对象。 |
CoIsOle1Class | 确定指定的 CLSID 是否表示 OLE 1 对象。 |
CoLoadLibrary | 将特定 DLL 加载到调用方的进程中。 |
CoLockObjectExternal | 调用以锁定对象,以确保其保留在内存中,或释放此类锁。 |
CoMarshalHresult | 将 HRESULT 封送到指定的流,从中使用 CoUnmarshalHresult 函数取消封送。 |
CoMarshalInterface | 将在某些客户端进程中初始化代理对象所需的数据写入流。 |
CoMarshalInterThreadInterfaceInStream | 将接口指针从一个线程封送至同一进程中的另一个线程。 |
CoQueryAuthenticationServices | 检索在进程调用 CoInitializeSecurity 时注册的身份验证服务的列表。 |
CoQueryClientBlanket | 由服务器调用,以了解调用当前线程上执行的方法的客户端。 |
CoRegisterActivationFilter | 注册进程范围的筛选器以处理激活请求。 |
CoRegisterChannelHook | 注册通道挂钩。 |
CoQueryProxyBlanket | 检索客户端用于对指定代理进行调用的身份验证信息。 |
CoRegisterClassObject | 将 EXE 类对象注册到 OLE,以便其他应用程序可以连接到该对象。 |
CoRegisterInitializeSpy | 注册 IInitializeSpy 接口的实现。 定义允许开发人员在 COM 单元上执行初始化和清理的 IInitializeSpy 接口。 |
CoRegisterMallocSpy | 注册 IMallocSpy 接口的实现,此后要求 OLE 围绕对相应 IMalloc 方法的每个调用调用其包装器方法。 |
CoRegisterMessageFilter | 向 OLE 注册 IMessageFilter 接口的实例,该接口用于处理当前线程上的并发问题。 |
CoRegisterPSClsid | 使下载的 DLL 能够在正在运行的进程内注册其自定义接口,以便封送代码能够封送这些接口。 |
CoRegisterSurrogate | 通过其 ISurrogate 接口指针注册代理项进程。 |
CoReleaseMarshalData | 销毁以前封送的数据包。 |
CoReleaseServerProcess | 递减每个进程的全局引用计数。 |
CoResumeClassObjects | 由可以注册多个类对象的服务器调用,以通知 SCM 所有已注册的类,并允许这些类对象的激活请求。 |
CoRevertToSelf | 还原执行线程上的身份验证信息。 |
CoRevokeClassObject | 通知 OLE,以前注册到 CoRegisterClassObject 函数的类对象不再可用。 |
CoRevokeInitializeSpy | 撤销 IInitializeSpy 接口的已注册实现。 |
CoRevokeMallocSpy | 撤销已注册的 IMallocSpy 对象。 |
CoSetCancelObject | 设置(注册)或重置(取消注销)一个取消对象,以便在当前线程的后续取消操作期间使用。 |
CoSetMessageDispatcher | 注册或取消注册每线程消息调度程序,当 ASTA 线程上有可用于在 COM 等待 API 中调度的窗口消息时,将调用该调度程序。 |
CoSetProxyBlanket | 设置将用于对指定代理进行调用的身份验证信息。 |
CoSuspendClassObjects | 阻止在进程内注册的所有类对象上从 SCM 发出任何新的激活请求。 |
CoSwitchCallContext | 切换 CoGetCallContext 使用的调用上下文对象。 |
CoTaskMemAlloc | 以 IMalloc::Alloc 相同的操作方式分配任务内存块。 |
CoTaskMemFree | 释放以前通过调用 CoTaskMemAlloc 或 CoTaskMemRealloc 函数分配的任务内存块。 |
CoTaskMemRealloc | 更改以前分配的任务内存块的大小。 |
CoTestCancel | 确定在服务器上执行的调用是否已由客户端取消。 |
CoTreatAsClass | 建立或删除仿真,其中一个类的对象被视为不同类的对象。 |
CoUninitialize | 关闭当前线程上的 COM 库,卸载线程加载的所有 DLL,释放线程维护的任何其他资源,并强制线程上的所有 RPC 连接关闭。 |
CoUnmarshalHresult | 拆收指定流中的 HRESULT 类型。 |
CoUnmarshalInterface | 使用上一次调用 CoMarshalInterface 函数写入流中的数据初始化新创建的代理,并返回指向该代理的接口指针。 |
CoWaitForMultipleHandles | 等待指定的句柄发出信号,或等待指定的超时期限结束。 |
CoWaitForMultipleObjects | CoWaitForMultipleHandles 的替代项主要用于 Microsoft Store 应用和组件。 此替换 API 隐藏 ASTA 中不支持的 CoWaitForMultipleHandles 选项。 |
CreateAntiMoniker | 创建并返回新的反名字对象。 |
CreateAsyncBindCtx | 创建异步名字对象使用的异步绑定上下文。 |
CreateBindCtx | 返回指向 IBindCtx(绑定上下文对象)实现的指针。 此对象存储有关特定名字对象绑定操作的信息。 |
CreateClassMoniker | 创建引用指定类的类名字对象。 |
CreateFileMoniker | 创建基于指定路径的文件名字对象。 |
CreateGenericComposite | 执行两个名字对象的泛型组合,并提供指向生成的复合名字对象的指针。 |
CreateItemMoniker | 创建一个项名字对象,用于标识包含对象(通常是复合文档)中的对象。 |
CreateObjrefMoniker | 创建基于指向对象的指针的 OBJREF 名字对象。 |
CreatePointerMoniker | 创建基于指向对象的指针的指针名字对象。 |
DllCanUnloadNow | 确定实现此函数的 DLL 是否正在使用。 否则,调用方可以从内存中卸载 DLL。 |
DllDebugObjectRPCHook | 由 DLL 导出以启用远程调试。 |
DllGetClassObject | 从 DLL 对象处理程序或对象应用程序检索类对象。 |
DllRegisterServer | 指示进程内服务器为此服务器模块支持的所有类创建其注册表项。 |
DllUnregisterServer | 指示进程内服务器仅删除通过 DllRegisterServer 创建的条目。 |
GetClassFile | 返回与指定文件名关联的 CLSID。 |
GetRunningObjectTable | 返回指向本地运行对象表 (ROT) 上的 IRunningObjectTable 接口的指针。 |
IIDFromString | 将 StringFromIID 函数生成的字符串转换回原始接口标识符 (IID)。 |
初始化 | 初始化线程以使用 Windows 运行时 API。 |
IsAccelerator | 确定指定的击键是否映射到指定快捷键表中的加速器。 |
IsEqualCLSID | 确定两个 CLSID 是否相等。 |
IsEqualGUID | 确定两个 GUID 是否相等。 |
IsEqualIID | 确定两个接口标识符是否相等。 |
MkParseDisplayName | 将字符串转换为标识由字符串命名的对象的名字对象。 |
MonikerCommonPrefixWith | 创建基于此名字对象(包含此名字对象的数据)与另一个名字对象共享的通用前缀的新名字对象。 |
MonikerRelativePathTo | 提供一个名字对象,当组合到第一个指定的名字对象(或具有类似结构的名字对象)的末尾时,将生成第二个指定的名字对象。 |
OleDoAutoConvert | 如果在注册表中为该对象类设置了自动转换,则自动将对象转换为新类。 |
OleGetAutoConvert | 确定是否为指定的 CLSID 的对象设置注册表,以便自动转换为另一个 CLSID,如果是,则检索新的 CLSID。 |
OleGetIconOfClass | 返回包含指定 CLSID 图标和字符串标签的图元文件的句柄。 |
OleGetIconOfFile | 返回包含指定文件名图标和字符串标签的图元文件的句柄。 |
OleIconToCursor | 将图标转换为光标。 |
OleRegGetMiscStatus | 返回有关注册表中指定 CLSID 支持的表示形式和行为的其他信息。 |
OleRegGetUserType | 从注册表中获取指定类的用户类型。 |
OleSetAutoConvert | 指定在加载该类的对象时自动转换为其他类的 CLSID。 |
ProgIDFromCLSID | 检索给定 CLSID 的 ProgID。 |
StringFromCLSID | 将 CLSID 转换为可打印字符的字符串。 不同的 CLSID 始终转换为不同的字符串。 |
StringFromGUID2 | 将全局唯一标识符 (GUID) 转换为可打印字符的字符串。 |
StringFromIID | 将接口标识符转换为可打印字符的字符串。 |