mirror of https://github.com/lianthony/NT4.0
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.
33 lines
992 B
33 lines
992 B
enum receive_states {
|
|
start,
|
|
copy_pipe_elem,
|
|
return_partial_pipe_elem, // also save pipe elem
|
|
return_partial_count, // also save count
|
|
read_partial_count, // also a start state
|
|
read_partial_pipe_elem //also a start state
|
|
} ;
|
|
|
|
typedef struct {
|
|
PRPC_MESSAGE Callee ;
|
|
receive_states CurrentState ;
|
|
char PAPI *CurPointer ; // current pointer in the buffer
|
|
int BytesRemaining ; // bytes remaining in current buffer
|
|
int ElementsRemaining ; // elements remaining in current pipe chunk
|
|
DWORD PartialCount ;
|
|
int PartialCountSize ;
|
|
int PartialPipeElementSize ;
|
|
int EndOfPipe ;
|
|
int PipeElementSize ;
|
|
void PAPI *PartialPipeElement ;
|
|
void PAPI *AllocatedBuffer ;
|
|
int BufferSize ;
|
|
int SendBufferOffset ;
|
|
} PIPE_STATE ;
|
|
|
|
void I_RpcReadPipeElementsFromBuffer (
|
|
PIPE_STATE PAPI *state,
|
|
char PAPI *TargetBuffer,
|
|
int TargetBufferSize,
|
|
int PAPI *NumCopied
|
|
) ;
|
|
|