描述
当消费者订阅wszQuery中指定的事件时,AccessCheck方法由事件提供者实现并由Windows Management Instrumentation(WMI)调用。具有事件访问权限的消费者可以订阅该事件。没有访问权限的消费者不能订阅该事件。有关详细信息,请参阅写一个事件提供者和保护WMI事件.
对于临时消费者,WMI将PSID参数中提供的PSID设置为NULL,通过模拟消费者进行呼叫。对于永久消费者,WMI将PSID设置为创建订阅的用户的安全标识符(SID)。
C++ 语法
HRESULT AccessCheck( [in] WBEM_CWSTR wszQueryLanguage, [in] WBEM_CWSTR wszQuery, [in] long lSidLength, [in] const BYTE *pSid ); |
PowerBASIC 语法
METHOD AccessCheck ( _ BYVAL wszQueryLanguage AS DWORD, _ BYVAL wszQuery AS DWORD, _ BYVAL lSidLength AS LONG, _ BYVAL pSid AS BYTE PTR _ ) AS LONG |
参数
wszQueryLanguage
以下查询过滤器的语言,即“WQL”。
wszQuery
事件查询过滤器的文本,由逻辑消费者注册。
lSidLength
包含安全标识符(SID)长度的整数,如果订阅构建器令牌可用,则为0(零)。
pSid
指向包含SID的常量字节整数类型,如果订阅构建器的令牌可用,则为NULL。
返回值
此方法返回一个指示方法调用状态的HRESULT.下表列出了HRESULT中包含的值。
退货代码 |
描述 |
WBEM_S_NO_ERROR |
用户有权订阅一个事件。 |
WBEM_E_ACCESS_DENIED |
用户没有访问事件的权限。 |
WBEM_E_FAILED |
表示提供程序失败。 |
WBEM_S_SUBJECT_TO_SDS |
Windows Server 2003和Windows XP:当提供商返回时,WMI将检查__事件中的SECURITY_DESCRIPTOR属性,并且只向具有访问权限的消费者发送事件。 |
要求
客户 |
需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。 |
服务器 |
需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。 |
头 |
在Wbemprov.inc中声明。 |
DLL |
需要Wbemsvc.dll。 |


