阅读:1208回复:0
TDI 9X : DDK的说明怎么自相矛盾??? (或者是我不能正确理解???)
第一部分:
Comments [ A pointer to a TDI_REQUEST structure is passed into every VxD TDI call ]. The VxD TDI client must fill in the structure before invoking the VxD. The handle field will contain either an address object handle or a connection context, depending on the call. The RequestNotifyObject field is set to be a pointer to a client-supplied callback function that TCP will call when the request finally completes, if and only if the request returned TDI_PENDING when it was first invoked. Note that a callback can happen before the call to the function returns. The RequestContext field will be passed back unchanged as a parameter to the callback function when it is called. The TdiStatus field is unused. Following is the prototype for the callback function: void Callback( PVOID Context, TDI_STATUS FinalStatus, unsigned long ByteCount ); 第二部分: TDI_STATUS TdiSetEvent(PVOID Handle, int Type, PVOID Handler, PVOID Context ); 难道TdiSetEvent()不算一个VxD Call??? 如果TdiSetEvent()不带TDI_REUQEST的话,那如果我在里边返回TDI_ENDING,以后我怎么把操作的最终状态返回给TDI Client??? |
|