Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.3 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
trans2.h
Abstract:
This module provides the routine headers for the routines in smbfuncs.c
Author:
Larry Osterman (LarryO) 19-Nov-1992
Revision History:
19-Nov-1992 LarryO
Created
--*/
#ifndef _TRANS2_
#define _TRANS2_
struct _TRANCEIVE2CONTEXT;
typedef
NTSTATUS
(*PTRANSACTION_COMPLETION_ROUTINE)(
IN NTSTATUS TransactionStatus,
IN PVOID Context,
IN struct _TRANCEIVE2CONTEXT *TransactionContext,
IN PVOID OutSetup,
IN CLONG OutSetupCount,
IN PVOID OutParam,
IN CLONG OutParamCount,
IN PVOID OutData,
IN CLONG OutDataLength
);
/*++
Routine Description:
This routine is called when a transaction SMB is completed.
Arguments:
IN PVOID OutSetup - Response setup words
IN CLONG OutSetupCount - Length of response setup in bytes
IN PVOID OutParam - Response parameters
IN CLONG OutParameterCount - Size of response parameters in bytes
IN PVOID OutData - Response data
IN CLONG OutDataCount - Size of response data in bytes.
Return Value:
NTSTATUS - Status of request
--*/
//
// The _Tranceive2Context structure defines all of the
// information needed to complete a request at receive indication
// notification time.
//
typedef struct _TRANCEIVE2CONTEXT {
TRANCEIVE_HEADER Header; // Common header structure
PIRP ReceiveIrp OPTIONAL; // IRP used for receive if specified
PMPX_ENTRY MpxEntry; // MPX table used for this transaction
PSECURITY_ENTRY Se; // Security entry for Trans2.
ULONG TransactionStartTime; // Timeout for this tranceive exchange
ULONG TransactionTimeout; // Timeout for this tranceive exchange
PVOID SetupWords; // Points to setup words.
ULONG MaxSetupWords; // Max # setup words.
PMDL ReceiveMdl; // Points to ReceiveSmbBuffer->Mdl
PMDL ParameterMdl; // Places parameters from SMB directly
PMDL InParameterPartialMdl; // into callers input buffer
PMDL OutParameterPartialMdl; // into callers output buffer
PMDL OutDataMdl; // Places Data from SMB directly
// into the callers buffer
PMDL OutDataPartialMdl; // Used to tell where in the callers
// data buffer the data from the SMB
// is to be placed.
PMDL PadMdl; // Used to discard pad bytes after
// the parameters.
CLONG Lsetup; // Number of setup bytes to return.
CLONG Lparam; // Parameter bytes received so far
CLONG ParametersExpected; // Stop when <= Lparam
CLONG Ldata; // Data bytes received so far
CLONG DataExpected; // Stop when <= Ldata
PTRANSACTION_COMPLETION_ROUTINE Routine;
PVOID CallbackContext;
USHORT Flags; // Transaction flags.
BOOLEAN ErrorMoreData; // One of the packets received contained
// this warning.
} TRANCEIVE2CONTEXT, *PTRANCEIVE2CONTEXT;
#endif // _TRANS2_