勇芳软件工作室.汉化:  Printing > Print Spooler API > Asynchronous Printing Notification > Asynchronous Printing Notification Functions >

UnRegisterForPrintAsyncNotifications  (Vista)

Previous pageReturn to chapter overviewNext page

描述

 

启用已注册从Print Spooler托管的打印组件接收通知的应用程序以注销。

 

C++ 语法

 

HRESULT UnRegisterForPrintAsyncNotifications(

__in HANDLE hRegistrationHandler

);

 

PowerBASIC 语法

 

FUNCTION UnRegisterForPrintAsyncNotifications ( _

BYVAL hRegistrationHandler AS DWORD _

) AS LONG

 

参数

 

hRegistrationHandler

 

[in]要注销的注册句柄。

 

返回值

 

HRESULT

严重

含义

S_OK

SUCCESS

功能成功完成。

ALREADY_UNREGISTERED

SUCCESS

ERROR

注册处理程序已经被注销。如果此HRESULT具有ERROR严重性,则调用函数应处理错误条件。

NOT_REGISTERED

SUCCESS

注册处理程序未注册。

 

返回值是COM错误代码。因为此函数可能会成功完成操作,而是返回除S_OK之外的HRESULT,则应使用SUCCEEDED或FAILED宏来确定调用的成功。要获取函数返回的具体HRESULT,请使用HRESULT_CODE宏。以下代码示例显示了如何使用这些宏。

 

C++

 

if (SUCCEEDED(hr)){

//call was successful

}

 

if (FAILED(hr)) {

// call failed

}

 

if (FAILED(hr)) {

// call failed

switch (HRESULT_CODE(hr)){

   case CHANNEL_CLOSED_BY_ANOTHER_LISTENER:

     // some action

     break;

   case CHANNEL_CLOSED_BY_SAME_LISTENER:

     // some action

     break;

   default:

     //default action

     break;

}

} else {

//call succeeded

}

 

PowerBASIC

 

IF SUCCEEDED(hr) THEN

  ' // call was successful

END IF

 

IF FAILED(hr) THEN

  ' // call failed

END IF

 

IF FAILED(hr) THEN

  ' // call failed

  SELECT CASE HRESULT_CODE(hr)

     CASE %CHANNEL_CLOSED_BY_ANOTHER_LISTENER

        ' // some action

     CASE %CHANNEL_CLOSED_BY_SAME_LISTENER

        ' // some action

     CASE ELSE

        ' //default action

  END SELECT

ELSE

  ' // call succeeded

END IF

 

有关其他可能的返回值,请参阅PrintAsyncNotifyError.

 

备注

 

致电RegisterForPrintAsyncNotifications必须返回hRegistrationHandler.

 

如果频道是双向通话,UnRegisterForPrintAsyncNotifications的呼叫只能阻止在该点之后创建的通信频道的通知。要结束现有频道的通知,聆听应用程序必须使用IPrintAsyncNotifyChannel.CloseChannel关闭频道。

 

UnRegisterForPrintAsyncNotifications的调用将减少传递给RegisterForPrintAsyncNotificationspCallback对象的引用计数。

 

此函数成功后,hRegistrationHandler无效,不能再次使用。

 

引用文件 #INCLUDE Once

 

Prnasnot.inc