Java, 408 401 396 237 Bytes
public static int getPosSecondZero2(int number){ int overflow = 2^32-2; if(number < 0 || number > overflow){ return 0; } String binaryString = Integer.toBinaryString(number); char[] binaryCharArray = binaryString.toCharArray(); int count = 0; int idx = binaryCharArray.length; int length = binaryCharArray.length -1; while(count < 2 && idx>0){ idx--; if(binaryCharArray[idx] == '0'){ count++; } } if(count == 2) return length-idx; return 0; } Plain(effective 237 Bytes):
static int f(int n){int o=2^32-2;if(n<0||n>o){return 0;}String bs=Integer.toBinaryString(n);char[] bsa=bs.toCharArray();int c=0;int i=bsa.length;int l=bsa.length-1;while(c<2&&i>0){i--;if(bsa[i]=='0'){c++;}}if(c==2)return l-i;return 0;} -159 Bytes for using smaller variable names and removing whitespace