According to the MSDN documentation WinHTTPRequest has four event handlers which should be accessible by specifying an event handler prefix. Unfortunately, doing so causes Windows Scripting Host to crash.
The following code crashes Windows Scripting Host:
Set oHTTP = WScript.CreateObject( "WinHttp.WinHttpRequest.5.1", "oHTTP_" )
This code works just fine:
Set oHTTP = WScript.CreateObject( "WinHttp.WinHttpRequest.5.1" )
Any thoughts as to why?
It's not part of the specification in any way. Wishful programming rarely works.
Creates and returns a reference to an Automation object.
CreateObject(servername.typename [, location])
Arguments
servername
Required. The name of the application providing the object.
typename
Required. The type or class of the object to create.
location
Optional. The name of the network server where the object is to be created.
If you want to make up your own wishful specifications, see if you can add your own parameters to this one.
From Help for GetRef
Returns a reference to a procedure that can be bound to an event.
Set object.eventname = GetRef(procname)
Arguments
object
Required. Name of the object with which event is associated.
event
Required. Name of the event to which the function is to be bound.
procname
Required. String containing the name of the Sub or Function procedure being associated with the event.
来源:https://stackoverflow.com/questions/27407533/wscript-createobject-crashes-windows-scripting-host-when-event-handler-prefix-is