到处乱用,区别是啥呢?
查了一下它们的定义呀,在VS.net下,是这么定义的
C/C++ code:
/* wave data block header */
typedef struct wavehdr_tag {
LPSTR lpData; /* pointer to locked data buffer */
DWORD dwBufferLength; /* length of data buffer */
DWORD dwBytesRecorded; /* used for input only */
DWORD_PTR dwUser; /* for client's use */
DWORD dwFlags; /* assorted flags (see defines) */
DWORD dwLoops; /* loop control counter */
struct wavehdr_tag FAR *lpNext; /* reserved for driver */
DWORD_PTR reserved; /* reserved for driver */
} WAVEHDR, *PWAVEHDR, NEAR *NPWAVEHDR, FAR *LPWAVEHDR;
好吧,基本上,Windows的结构类型定义都符合这个规则,加P和LP都是一级指针,加PP是二级指针
还有就是 P地址是正常的,NP是低地址位的,LP是32位指针的