WScript.CreateObject crashes Windows Scripting Host when event handler prefix is specified for WinHTTPRequest

876 views Asked by At

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?

1

There are 1 answers

1
BambiLongGone On

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.